int main()
{
char a[M],b[M],*p;
int i,n,x = 0;
printf("请输入一串字符\a");
gets(a);
printf("请选择你要删除的字符\a");
scanf("%d",&i);
for (n = 0;n < 40;n++)
{
if (i = n + 1)
continue;
else
{
b[x] = a[n];
x++;
}
}
puts(b);
return 0;
}
人家是让在同一个数组上删除吧,你这样是定义了另外一个数组,不符合要求
那即是不是一个数组,结果还是运行不出来,做不到这样,我想知道是不是那个循环有问题。
@shmily涂: 你得到的b数组中没有数据吗,我想看一下你的运行结果
@wwr01:
for(;i<M-1;i++)
a[I]=a[I+1];
puts(a)
你这个用的赋值, 从1到40全部都是true, 后面的都不会执行
if (i = n + 1)
continue;
那改成n = i - 1;也还是不行。
@shmily涂: ... 你没搞清楚问题啊, 你这是赋值和比较运算符用混了, 用==