有下列程序: 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]

admin2014-06-19  57

问题 有下列程序:
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);
}
程序运行后的输出结果是

选项 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。
转载请注明原文地址:https://kaotiyun.com/show/1iJp777K
0

最新回复(0)