给定程序MODI1.C中函数fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。 例如,若字符串为abed,则应输出:dcba。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删

admin2019-04-04  14

问题 给定程序MODI1.C中函数fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。
    例如,若字符串为abed,则应输出: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);

解析 本题中函数的功能是将字符串中的内容逆序。题干中给出的fun函数通过递归调用自身,实现字符串的逆序。
    (1)主函数中“fun(s);”语句中的s是数组名,所以在fun函数中参数的定义应该是指针型,“fun(char a)”改为“void fun(char *a)”。
    (2)printf函数的调用形式是:printfif格式字符串,输出项表),在格式字符串和输出项表之间有“,”,因此,第二个标识处应该是“printf(’’%c’’,*a);”。
转载请注明原文地址:https://kaotiyun.com/show/jnRp777K
0

随机试题
最新回复(0)