有以下程序: void f(int v , int w) { int t; t=v;v=w;w=t; } main() { int x=l,y=3,z=2; if(x>y} f(x,y)

admin2009-01-15  36

问题 有以下程序:    void f(int v ,  int w)    {  int t;      t=v;v=w;w=t;    }    main()    {  int x=l,y=3,z=2;      if(x>y}        f(x,y);      else if(y>z)   f(y,z);      else            f(x,z);      printf("%d,%d,%d\n",x,y,z);    }    执行后输出结果是

选项 A、1,2,3
B、3,1,2
C、1,3,2
D、2,3,1

答案4

解析 本题考核的知识点是函数的调用和if-else语句的应用。C语言规定else总是和离它最近的if语句配对。分析可以知道,函数f()作用是让形参v和形参w的值交换。在i函数中首先定义了三个变量x。y和z。然后再执行下面的if-else语句.由程序可以看出第—个else和第一个订搭配,第二个else和第二个if搭配。由于调用函数时是进行值传递的。即将实参x,y,z传给形参v和w,以后行参和实参再无联系,故通过if语句调用f()函数后,x、y和z的值并没有改变。故最后输出的x、v和z的值为1、3和2,所以,4个选项中选项C符合题意。
转载请注明原文地址:https://kaotiyun.com/show/s6Xp777K
0

相关试题推荐
最新回复(0)