问答题
给定程序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;。
【答案解析】