以下程序的输出结果是( )。 void f(int*q) main() {int i=0; {int a[5]={1,2,3,4,5},i; for(;i<5;i++)(*q)++;}

admin2020-11-23  30

问题 以下程序的输出结果是(  )。
void f(int*q)                 main()
{int i=0;                   {int a[5]={1,2,3,4,5},i;
for(;i<5;i++)(*q)++;}     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

解析 题目中void f(int*q)函数的功能是对(*q)的值连续5次自加1。在main函数中f(a)语句把一维数组a[5]的首地址作为实参,传递给函数f(int*q)的形参q,然后在函数f(int*q)内,a[0]连续5次自加1后,a[0]的值就变成6。所以输出为6,2,3,4,5,选项B正确。
转载请注明原文地址:https://kaotiyun.com/show/8M3p777K
0

相关试题推荐
最新回复(0)