问题 单项选择题

有以下程序:
void f(int b[])
int i;
for(i=2;i<6;i++)b[i]*=2;

main()
int a[10]=1,2,3,4,5,6,7,8,9,10,i;
f(a);
for(i=0;i<10;i++)printf("%d,",a[i]);

程序运行后的输出结果是______。

A) 1,2,3,4,5,6,7,8,9,10,
B) 1,2,6,8,10,12,7,8,9,10
C) 1,2,3,4,10,12,14,16,9,10,
D) 1,2,6,8,10,12,14,16,9,10,

答案

参考答案:B

解析: 本题在调用函数时,实参是数组名也是把数组a的首地址传递给形参,由条件i=2且i<6得出函数将列以a[2]开始的4个元素(3、4、5、6)进行乘2操作,结果分别是a[2]=6、a[3]=8、a[4]=10、a[5]=12。a[0]、a[1]、a[6]、a[7]、a[8]、a[9]的值没有发生变化。

选择题
解答题