单选题 下面程序中有错误的行是(每行程序前面的数字表示行号) ( )。
1 main()
2
3 int a[3]=1;
4 int i;
5 scanf("%d",&a);
6 for(i=1; i<3; i++) a[0]=a[0]+a[i];
7 printf("a[0]=%d/n", a[0]);
8
A) 3 B) 6 C) 7 D) 5

【正确答案】 D
【答案解析】[解析] 主要考查了一维数组的定义、初始化及元素的引用方法。第5行代码中scanf输入数据时,要求输入项为地址,而数组名即为数组的首地址,所以不应该再在前面加取地址符号&。