下列程序的输出结果是( )。void fun(int*X,int

 下列程序的输出结果是( )。void fun(int*X,int y){ printf(%d%d,*x,*y);*x=3;*y=1;}main(){ int x=1,y=2;fun(&y,&x);printf(%d%d,x,y);}

问题:

[单选]
下列程序的输出结果是( )。
void fun(int*X,int y)
{ printf("%d%d",*x,*y);*x=3;*y=1;}
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。

联系我们

联系我们

查看联系方式

邮箱: 2643773075@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部