问题 单项选择题

有下列程序: #include<stdio.h> void fun(int p) { int d=2; p=d++;printf("%d",p);} main() { int a=1; fun(A) ;printf("%d\n",A) ;} 程序运行后的输出结果是( )。

A.32

B.12

C.21

D.22

答案

参考答案:C

解析: fun函数中为传值调用,则在形参的改变并不改变实参,所以在主函数中a的值为1。函数p=d++;语句中先执行赋值,然后进行d加1的操作,所以p的值为2。

填空题
单项选择题