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