A few issues, in no particular order:
put
mainlast to avoid the need for a prototype.mainnormally takes argc/argv parametersspecial_charsshould be static - but it is debateable whether a separate function is necessary in a short program like this.main defines variable
xand passes it tospecial_chars. This is unnecessary. Just definechinspecial_charsand define the function as takingvoid(i.e. nothing)why does
special_charsreturn a value?indenting is wrong
too many blank lines (8)
missing {} brackets after
if (pairsNum == 10)mixed naming styles (
pairsNumshould bepairs_numorspecial_charsshould bespecialChars- I prefer the former)special_charsis a bad name for the function.pairsNumis an odd name;n_pairswould be my choice.you don't print a final \n at the end of the program
you don't start a new line after reading a \n, as required - it appears that you do when you type at the keyboard because entering a \n causes a new line. But if you redirect input into your program it does not. Also you don't start a line after each ten, only after the first ten. e.g. if your program executable is called
program$ cat x abcdefgh ijklmnop qrstuvwxyz $./program < x. please enter a some characters, and ctrl + d to quit a,97 b,98 c,99 d,100 e,101 f,102 g,103 h,104 \n i,105 j,106 k,107 l,108 m,109 n,110 o,111 p,112 \n q,113 r,114 s,115 t,116 u,117 v,118 w,119 x,120 y,121 z,122 \n $