c语言,分析程序运行结果

c语言,分析程序运行结果谁能解释一下这个c程序,谢谢啦~

fun函数是将字符串s中的ch字符删除
外层的while是遍历字符串直至字符串结束符
当遍历到目标字符ch,进入内层的for循环,for循环就是从当前遍历到的字符ch开始将后续的字符全部向前移动一位,也就实现了将遍历到当前ch字符从字符串中删除的目的,然后尝试寻找下一ch,直至字符串遍历结束
所以运行的结果就是将原str字符串中的字符'e'删除后输出
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-30
if (s[i]==ch) 这里的ch 是函数的参数2,函数 void fun(char *s,char ch)。
调用函数的作用 是 删除 字符串 char *s 里 所有 的字符 ch.
char str[]="eATEfeed"; 调用 fun(str,'e'); 就是删除 字符串 "eATEfeed" 里 所有 的字符 e. 结果得 ATEfd。
函数中 s[i]!='\0' 和 s[k+1]!='\0' 都是控制循环语句的执行,循环到字符串结束符 '\0' 为止。
相似回答