よくよく見れば、いろいろおかしいところ多いね。
a[],b[]の配列はcharの配列だから
char a[] = {'a','b','c'};
char b[] = {'d','e','f'};
じゃなきゃ、まずい。

それからfunc1と2でのprintf出力がおかしい。

文字と文字列、シングルクオートとダブルクオートの使い方、
ちゃんと理解してる?