有以下程序 #include 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

admin2015-07-31  29

问题 有以下程序
#include
void f(int  b[])
{ int  i;
for (i=2; i<6; i++)  b *= 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);
}
程序运行后的输出结果是

选项 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

解析 数组名是常量,表示的是数组首元素的地址。当执行f(a)的时候,由于传递的是首地址,相当于直接对数组a进行操作,所以从数组a的第三个元素a[2]到元素a[5],每个元素值扩大两倍。因此B选项正确。
转载请注明原文地址:https://jikaoti.com/ti/tOi0FFFM
0

随机试题
最新回复(0)