Anyone see what is wrong with my code (I'm trying to use an array and passing it to a function). Thanks in advance!

#include <stdio.h>
#include <string.h>

void read (int*, int*, int*, int*);

void cat (char[][], char[][], char[][], int*, int*, int*);

void print (char[][]);


char onetoteens[][19] = {"one ", "two ", "three ", "four ", "five ", "six ", "seven ", "eight ", "nine ", "ten ", "eleven ", "twelve ", "thirteen ", "fourteen ", "fifteen ", "sixteen ", "seventeen ", "eighteen ", "nineteen "};

char tys[][9] = {" twenty", " thirty", " forty", " fifty", " sixty", " seventy", " eighty", " ninety"};

char english[50][50];

int num, first, second, third;

read (&num, &first, &second, &third);

cat (onetoteens[][]. tys[][], english[][], &first, &second, &third);

print (english[][]);


void read (int *num, int *first, int *second, int *third)

printf ("Enter a three digit number: ");
scanf ("%d", num);



void cat (char onetoteens[][], char tys[][], char english[][], int *first, int *second, int *third) {

strcat (english[50], onetoteens[*first-1]);
strcat (english[50], tys[*second-2]);
strcat (english[50], onetoteens[*third-1]);


void print (char enlgish[][])

printf ("%s", english);

/*printf("The number entered is: %shundred%s %s", onetoteens[first-1], tys[second-2], onetoteens[third-1]);*/