首页 新闻 会员 周边 捐助

我想问一下,为什么会出现错误呢?不可以这样吗?

0
悬赏园豆:15 [已解决问题] 解决于 2019-11-02 14:58

include<stdio.h>

define M 40

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涂的主页 shmily涂 | 初学一级 | 园豆:4
提问于:2019-10-31 20:15
< >
分享
最佳答案
0

人家是让在同一个数组上删除吧,你这样是定义了另外一个数组,不符合要求

收获园豆:5
你小子嚣张呀 | 小虾三级 |园豆:630 | 2019-11-01 14:01

那即是不是一个数组,结果还是运行不出来,做不到这样,我想知道是不是那个循环有问题。

shmily涂 | 园豆:4 (初学一级) | 2019-11-01 15:18

@shmily涂: 你得到的b数组中没有数据吗,我想看一下你的运行结果

你小子嚣张呀 | 园豆:630 (小虾三级) | 2019-11-01 15:44

@wwr01:

shmily涂 | 园豆:4 (初学一级) | 2019-11-02 14:55
其他回答(2)
0

for(;i<M-1;i++)
a[I]=a[I+1];
puts(a)

收获园豆:5
pencile | 园豆:845 (小虾三级) | 2019-11-01 16:41
0

你这个用的赋值, 从1到40全部都是true, 后面的都不会执行

 if (i = n + 1)
        continue;
收获园豆:5
jakio6 | 园豆:1325 (小虾三级) | 2019-11-01 23:19

那改成n = i - 1;也还是不行。

支持(0) 反对(0) shmily涂 | 园豆:4 (初学一级) | 2019-11-02 14:52

@shmily涂: ... 你没搞清楚问题啊, 你这是赋值和比较运算符用混了, 用==

支持(0) 反对(0) jakio6 | 园豆:1325 (小虾三级) | 2019-11-02 19:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册