问题
单项选择题
下列程序执行后输出的结果是 ______。
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
答案
参考答案:C
解析:[评析] 本题执行过程如下首先调用fun函数,使得实参a的值3传递给形参p,得到局部变量d=8,打印出局部变量d的值8;返回主函数执行“d+=a++”,此处的d为全局变量,所以d=1+3=4(由于本题是值传递,所以在函数fun中对p值的改变并不能引起a的改变),故本题的输出是8,4。