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

admin2010-01-10  56

问题 下列程序执行后输出的结果是_______。    int d=1;    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

答案4

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

最新回复(0)