C'è anche l'errore nella dichiarazione di "a" e "b":
char a[20][20];
char b[20][20];
sono array di stringhe.
Dovevi scrivere:
char a[20];
char b[20];
o ancora più semplicemente:
char a[20], b[20];
e poi una scanf scritta così:
scanf("%20s %20s %d", a, b, &c);
per evitare buffer overflow.
Ciao.