卫士通校园招聘:程序有错误

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/14 06:42:04
#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--会解决问题。