求解C语言数组几题题

来源:百度知道 编辑:UC知道 时间:2024/06/05 00:19:40
16、下面程序( c )(每行程序前面的数字表示行号)
1 void main()
2 {
3 float a[10]={0.0};
4 int i;
5 for(i=0;i<3;i++) scanf("%d",&a[i]);
6 for(i=1;i<10;i++) a[0]=a[0]+a[i];
7 printf("%f\n",a[0]);
8 }
(A) 没有错误
(B) 第3行有错误
(C) 第5行有错误
(D) 第7行有错误

为什么选C

c
数组a是float型的,也就是说数组a中的每一个元素都是float型的,而scanf("%d",&a[i]);却是以int型接收

数组a是float型,而scanf("%d",&a[i]);却是以int型接收。

c

for(i=0;i<3;i++) scanf("%d",&a[i]);中的%d应该是%f

程序编译的时候是不会有错误的 只不过是运行结果不正确