A-A+

下列程序执行后输出的结束是______。 int d=1; fun(int p) { int

2022-08-06 03:17:25 问答库 阅读 175 次

问题详情

下列程序执行后输出的结束是______。 int d=1; fun(int p) { int d=5; d+=p++; printf("%d,",d) ; } main() { int a=3; fun(a); d+=a++; printf("%dn",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。

考点:结束,程序