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

admin2010-01-10  36

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

选项 A、1243
B、1212
C、1234
D、2112

答案1

解析 本题主函数中首先定义了两个变量x和y,并初始化为2和1,然后将y和x的地址值,传入函数fun(),函数fun()中的形参x和y分别指向主函数中的变量y和x,所以fun()函数输出的值为1和2,fun()函数在结束之前把形参x所指内容赋为3,把形参y所指内容赋为4,所以返回主函数后,主函数中的x和y已被改写为4和3。故程序输出结果为1243。选项A正确。
转载请注明原文地址:https://kaotiyun.com/show/xHWp777K
0

最新回复(0)