下列程序执行后输出的结果是______。 int d=l; fun(int p) { int d=5; d+=p++; printf("%d,",d); }

admin2010-09-05  22

问题 下列程序执行后输出的结果是______。        int d=l;        fun(int p)        {  int d=5;           d+=p++;           printf("%d,",d);        }        main()        {  int a=3;           fun(a);           d+=a++;           printf("%d\n",d);        }

选项 A、8,12
B、9,13
C、8,4
D、9,5

答案C

解析 本题执行过程如下:首先调用fun函数,使得实参a的值3传递绐形参p,得到局部变量d=8,打印出局部变量d的值8返回主函数执行 “d+=a++””,此处的d为全局变量,所以d=1+3=4(由于本题是值传递,所以在函数fun中对p值的改变并不能引起a的改变),故本题的输出是8,4。
转载请注明原文地址:https://kaotiyun.com/show/xdWp777K
0

最新回复(0)