神雕风流txt全文下载8o:帮我解释一下C程序问题?

来源:百度文库 编辑:高校问答 时间:2024/04/27 16:06:33
有一个子程序;
delete_string(char str[],char ch)
{int i,j;
for (i=j=0;str[i]!='\0\;i++)
if(str[i]!=ch)
str[j++]=str[i]);
str[j]='\0';
}
这个子程序的作用是
删除在str字符串中的ch字符?比如ctr字符串是asdfgjkf,ch是S的情况下运行后旧变成adfgjkf?
我不理解str[j]='\0'的作用是怎么样的?还有运行过程帮我解释?万分感谢....
可是'\0'复制给字符串str[j]呀?

FOR循环是只从 ctr 的第一个字符开始进行检查,以便找到与 ch 内容一致的字符段
str[j]='\0'是找到了与 ch 一致的字符时且一直到 ch
的最后
\0是指字符存储的最末尾标示

'\0'是字符串的最后一个字符

\0表示字符的结束