选择题
19.
下列程序运行后的输出结果是______。
void fun(int*x,int y)
{printf("%d%d",*x,*y); *x=3; *y=4;}
main()
{ int x=1,y=2;
fun(&y,&x);
printf("%d%d",x,y);
}
A、
2 1 4 3
B、
1 2 1 2
C、
1 2 3 4
D、
2 1 1 2
【正确答案】
C
【答案解析】
当执行fun()函数时,因为参数传递时是地址传递,因此形参值的改变会影响实参中的数,在执行fun()函数时先输出“1 2”,接着把*x赋3,把*y赋4,此时带回主函数中,输出“3 4”。
提交答案
关闭