有以下程序 void f(int *q) {int i=0; for(;i

admin2010-12-10  29

问题 有以下程序
void f(int *q)
{int i=0;
for(;i<5; i++) (*q)++;
}
main()
{int a[5] ={1,2,3,4,5}, i;
f(a);
for(i=0;i<5; i++) printf("%d,", a);
}
程序运行后的输出结果是

选项 A、2,2,3,4,5,       
B、6,2,3,4,5,       
C、1,2,3,4,5,       
D、2,3,4,5,6,

答案B

解析 调用函数f()时,将数组a的地址传递给了指针q,此时q指向的就是数组a的第一个元素a[0]。在5次循环过程中,q始终指向a[0],因此a[0]的值增加了5。最后的输出结果为"6,2,3,4,5"。
转载请注明原文地址:https://jikaoti.com/ti/ZkB0FFFM
0

最新回复(0)