在C语言中如何删除字符串中的某一个特定的字符
发布网友
发布时间:2022-04-22 20:27
我来回答
共2个回答
热心网友
时间:2022-04-27 19:03
找到要删除的字符后,见此字符之后的字符全部前移一位,也就实现了删除这个字符的目的
然后再从下一个字符开始寻找要删除的字符,如此反复直至结束,就实现了将字符串中所有的ch字符删除追问不太懂画住的那一部分,麻烦能讲一下吗?谢谢啦!
那个j++是怎么回事呢?
热心网友
时间:2022-04-27 20:21
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后的字符串末尾