A-A+
有下列程序: yoidflint*q) finti=0; for(;i<5;i++)(*q)
问题详情
有下列程序: yoidflint*q) finti=0; for(;i<5;i++)(*q)++; } main() {inta[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
voidf(int*q)函数的功能是对(*q)的值连续5次自加1。在main()函数中f(a)语句把一维数组a[5]的首地址作为实参,传递给函数f(int*q)的形参q,然后存函数f(int*q)内,a[0]连续5次自加l后,a[0]的值就变成6。所以输出为6,2,3,4,5。