问答题 给定程序MODI1.C中函数 fun 的功能是:判断ch中的字符是否与str所指串中的某个字符相同; 若相同,什么也不做,若不同,则将其插在串的最后。 请改正程序中的错误,使它能进行正确的操作。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include /**********found**********/ void fun(char str, char ch ) { while ( *str && *str != ch ) str++; /**********found**********/ if ( *str == ch ) { str [ 0 ] = ch; /**********found**********/ str[1] = '0'; } } main( ) { char s[81], c ; printf( "/nPlease enter a string:/n" ); gets ( s ); printf ("/n Please enter the character to search : " ); c = getchar(); fun(s, c) ; printf( "/nThe result is %s/n", s); }
【正确答案】第一处:第1个形参应该是字符串类型,所以应改为:void fun(char *str, char ch)。 第二处:应该是判断不相等,所以应改为:if(*str!=ch)。 第三次:置字符串结束符错误,所以应改为:str[1] = 0;。
【答案解析】