删除字符串里的某个字符。第一张图是让不被删除的字符保留下来,所以acd的位置从0,2,3到了0,1,2,但是运行出来多输出了一个d。原代码还有一行是str[j]='\0',但是我想着gets输入时自动在字符串后加了\0,经for循环后,那就是d原先所在的第四个位置空出来了,第五个位置就是\0,我觉得printf遇到第五个位置时就会停止,但是不明白为什么会多输出一个d。就像第二张图里用的while循环(我也去掉了str[i]='\0'),我理解的是每个字符的位置都向前移了,\0的位置就紧跟在d后面,printf提到它就停止了,也没有多输出。所以有人知道为什么会多输出一个d吗?