int i,j; for(i=j=0;str[i]!=`\0`;i++) if(str[i]!=ch) str[j

inti,j;for(i=j=0;str[i]!=`\0`;i++)if(str[i]!=ch)str[j++]=str[i];str[j]=`0`;C语言新手。。求大神... int i,j;
for(i=j=0;str[i]!=`\0`;i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]=`0`;
C语言新手。。求大神指教这个删除字符的函数是怎么运行的,是那本C程序设计书上的要求程序将字符串中的该字符删去 CH是空格
展开
 我来答
百度网友289c0c0
2017-08-06 · TA获得超过4183个赞
知道大有可为答主
回答量:1531
采纳率:89%
帮助的人:622万
展开全部
如果不是空格,那么先
str[j]=str[i];
然后j++
就是说,先把这个字符直接给新串(只不过是换用角标得到的),然后j自增,然后回到for循环,i自增;
如果是空格:
if不执行,直接i++,你注意,此时j的值没变,所以相当于是空格后面的字符串依次往前挪动一位,也就是说把空格用后一个字符覆盖掉了。
不懂追问
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式