注册 登录
编程论坛 C语言论坛

初学者c语言关于数组的问题

烤饼的人 发布于 2023-08-19 14:27, 553 次点击
[下面程序段[1]________(每行代码前面的数字表示行号)
 1 int a[3]={3*0};
 2 int i;
 3 for(i=0;i<3;i++) scanf("%d",&a[i]);
 4 for(i=1;i<3;i++) a[0]=a[0]+a; 5 printf("%d\n",a[0]);

A 第1行有错误
B 第5行有错误
C 第3行有错误
D 没有错误

第一行这样写是错的吗? 那float a[10]={0.0};代表的是这个数组里初值是0.0吗?
9 回复
#2
烤饼的人2023-08-19 14:28
#3
rjsp2023-08-19 17:34
第五行怎么突然变成了斜体?
我怀疑它吃掉了星号,你一个字一个字的对照原题看看。
#4
forever742023-08-19 18:14
回复 3楼 rjsp
是吃掉了方括号和里面的i了。
#5
rjsp2023-08-19 18:42
以下是引用forever74在2023-8-19 18:14:53的发言:

是吃掉了方括号和里面的i了。

原来如此。我还以为像知乎一样,吃掉两个星号
#6
烤饼的人2023-08-20 09:54
回复 3楼 rjsp
原题没有星号啊能不能解答我的疑惑啊
#7
forever742023-08-20 10:31
第一行语法上没错,只是画蛇添足。
它等同于
int a[3]={0};
#8
rjsp2023-08-21 08:45
以下是引用烤饼的人在2023-8-20 09:54:39的发言:

原题没有星号啊能不能解答我的疑惑啊

我们一直在说你的题目没贴全(吃掉了一个[i]),你为什么不肯贴全呢?

我在网上搜到一个类似的代码
    int a[3]={3*0};
    int i;
    for(i=0;i<3;i++) scanf("%d",&a[i]);
    for(i=1;i<3;i++) a[0]=a[0]+a[i];
    printf("%d\n",a[0]);

如果是这样的话,那「没有错误」
#9
烤饼的人2023-08-26 10:19
回复 8楼 rjsp
那个题目就是这样的,我没有少打答案是第一行有错误
#10
烤饼的人2023-08-26 10:20
回复 8楼 rjsp
哦我知道 谢谢
1