施工场界噪声布点:程序有错误

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/11 18:15:35
#include <stdio.h>
main()
{
int i,j;
char a[30]={"good"},n;
clrscr();
scanf("%c",&n);
for(i=0;strlen(a[i])!='\0';i++)
{
if(a[i]==n)
{
for(j=i;strlen(a[j])!='\0';j++)
a[j]=a[j+1];
}
}
printf("%s",a);
}
为什么输入o
运行结果是god
为什么不是gd
请指出错在哪里?

你把第i个字符用第i+1个覆盖,然后还应该检查第i个字符,即原来的第i+1个字符。在内层循环后面加i--会解决问题。