问答题
给定程序MODl1.C中函数fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。 例如,若字符串为abcd,则应输出:dcba。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 /**********found**********/3 fun(char a)4 { if (*a)5 { fun(a+1);6 /**********found**********/7 printf(''%c''*a);8 }9 }10 main()11 { char s[10]=''abcd'';12 printf(''处理前字符串=%s\n处理后字符串='',s);13 fun(s);printf(''\n'');14 }
【正确答案】正确答案:(1)void fun(char *a) (2)printf(''%c'',*a);
【答案解析】解析:(1)主函数中“fun(s);”语句中的s是数组名,所以在fun函数中参数的定义应该是指针型,“fun(char a)”改为“void fun(char *a)”。 (2)printf函数的调用形式是:printf(格式字符串,输出项表),在格式字符串和输出项表之间有“,”,因此第二个标识处应该是“printf(''%c'',*a);”。