在C语言中如何删除字符串中的某一个特定的字符

在C语言中如何删除字符串中的某一个特定的字符不太懂图中的程序是怎么回事,特别是画住的那部分。谢谢解答!

找到要删除的字符后,见此字符之后的字符全部前移一位,也就实现了删除这个字符的目的
然后再从下一个字符开始寻找要删除的字符,如此反复直至结束,就实现了将字符串中所有的ch字符删除追问

不太懂画住的那一部分,麻烦能讲一下吗?谢谢啦!

那个j++是怎么回事呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-06
if里面的内容可以理解为
当str中没有ch时,i和j始终同步后移,最后整个str没变。
当str中遇到ch时,不执行if,因为i始终都在自加,这样j就留在原地i后移,下一个循环的时候,如果i对应元素不是ch,则str[j]==str[i],复制以后j再后移,亦即将j对应的ch删除了;如果i对应的仍然是ch,则j仍留在原地i自加,直到下一次遇到非ch或者str结束。
最后j所在的位置即为str中删除全部的ch后的字符串末尾
相似回答