问题
单项选择题
有以下程序
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[i]);
程序运行后的输出结果是
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”。