以下程序运行后的输出结果是【 】。 void fun(int x,int y) { x=x+y;Y=x-y;x=x-y; printf(“%d,%d”,x,y);} main() { int x=2,y=3;

admin2009-04-15  26

问题 以下程序运行后的输出结果是【  】。
   void fun(int x,int y)
   { x=x+y;Y=x-y;x=x-y;
     printf(“%d,%d”,x,y);}
   main()
   { int x=2,y=3;
     fun(x,y);
     printf(“%d,%d\n”,x,y);
   }

选项

答案3,2,2,3

解析 主函数中首先定义了整型变量x和y,并分别给它们赋初值为2和3,接着调用fun()函数,fun()函数把实参x和y的值传给形式参数x和y,实参和形参不再有联系。在fun()函数中,通过运算使x和y的值交换过来,所以fun()函数中的输出结果是“3, 2”。fun()函数调用返回输出x和y依然是原来的x和y,为“2,3”。原因是变量作为形参传值的,对形参的修改并不影响对应的实参。所以最后输出为3,2,2,3。
转载请注明原文地址:https://kaotiyun.com/show/aKXp777K
0

随机试题
最新回复(0)