问题:
[单选]下列程序的输出结果是( )。
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
参考解析:
当执行fun函数时,因为参数传递时是地址传递,因此形参值的改变会影响实参中的数,在执行fun 函数时先输出1 2,接着把*X赋3,*y赋4,此时带回主函数中,输出的值为3 4。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
在公共政策评估的标准中, &04-20
搞一丁点通货膨胀就像怀一点儿孕,很快就会使肚子胀起来04-20
一只兔子没命地狂奔,路遇狼。狼说,你跑那么急干嘛?兔子04-20
现代有学者根据金字塔所包含的各种建造数据与天体运行04-20
我国的残疾人事业总体呈现出梯次发展的格局,随着新中国04-20
外资银行进入新兴市场国家,新兴市场国家银行业的各主体04-20
无论是从公安队伍建设的角度看,还是从公安干警修养的角04-20
任何方法都是有缺陷的。如何公正合理选拔合格的大学新04-20