c语言 int i,j=0; for(i=0;s[i];i++) if(s[i]!=c) s[j++]=s[i]; s[j]=0; 这个编程中的s[j]=0是什么意思?

如题所述

int i,j=0;
for(i=0;s[i];i++) //应该能看出s是个字符串,此处就是遍历字符串的一般规范写法,s[i]表示,当s[i]!=0时, 0 == ‘\0’是字符串结束符
if(s[i]!=c) //从这里可以看出,这是删除串中的某个字符c的功能,有多少个,删除多少个
s[j++]=s[i];

s[j]=0; //置字符串结束符,这样返回后的s在输出时,才会正常,不然,会有多余的字符出现! 字符串在输出时,从首地址,一直输出到字符串结束符位置才停止
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-28
int i,j=0;
for(i=0;s[i];i++)
if(s[i]!=c)
s[j++]=s[i];
s[j]=0;//把最后一个元素设为0,可能是作为数组的结束来用。本回答被网友采纳
第2个回答  2014-07-28
s是个数组,取第j个元素(数组下标从0开始),赋值为0
第3个回答  2014-07-28
是字符数组吧,把最后一个元素设为0,作为数组的结束标记
相似回答