问题 单项选择题

以下程序的输出结果是______。 int x=1; fun(int p) { int x=4; x+=p++; printf("%d",x); } main() { int a=3; fun(a) ; x+=a++; printf("%d\n",x); }

A.8 4

B.4 5

C.7 4

D.9 5

答案

参考答案:C

解析:[分析]本题考查局部变量和全局变量的关系。在调用fun函数时,形参 p值为3(实参a传递的),在x+=p++中,x是局部变量(局部优先),x和p的和7放在变量x中,p再自加变为4,显示输出x的值7;主函数中的x是全局变量,值为1,x和a的和4放在变量x中,a再自加变为4,显示输出x的值4。

填空题
单项选择题