下列程序的输出结果是( )。 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,

admin2012-12-03  18

问题 下列程序的输出结果是(    )。
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 l 2

答案C

解析 当执行fun函数时,因为参数传递时是地址传递,因此形参值的改变会影响实参中的数,在执行fun函数时先输出1 2,接着把*x赋3,*y赋4,此时带回主函数中,输出的值为3 4。
转载请注明原文地址:https://kaotiyun.com/show/W0Pp777K
0

最新回复(0)