目录: 标题| 题干| 答案| 搜索| 相关
问题

有以下程序void f(int x,int y){ int t, if(x<


有以下程序void f(int x,int y){ int t, if(x<y){t=x;x=y;t;}}main(){ int a=4,b=3,c=5; f(a,B) ;f(a,C) ;f(b,C) ; cout<<a<<","<<b<<","<<c<<end1;}执行后输出结果是

  • A3,4,5
  • B5,3,4
  • C5,4,3
  • D4,3,5
参考答案
参考解析:

解析:考生根据分析可以得知f函数的功能是交换两个变量的值。表明看起来,在main函数中,使用三次f函数完成三个变量的交换。真的如此么?只要考生注意到f函数采用值传递,而值传递的缺点就是不会改变形参的值,因此,上述操作根本无法改变原来三个变量的值!故三个变量的值依然保持不变。

分类:其他
相关推荐

1、若有以下程序 #include void f(int n) main()

若有以下程序#include void f(int n)main(){void f(int n);f(5);}void f(int n);{printf("%dn",n);}则以下叙述不正确的是()A若只在主函数中对函数f进...

2、有以下程序: int f1(int x, int y){ return x>

有以下程序: int f1(int x, int y){ return x>y? x:y; } int f2(int x, int y){ return x>y? y:x; } main() { int a=4, b=3, c=5, d=2, e, f, g...

3、有以下程序float fun(int x,int y){ return(x+

有以下程序float fun(int x,int y){ return(x+y);}main(){ int a=2,b=5,c=8; printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序的运行结果是A.9 B.编译出错C.21 D.9.0A9 B编译出错C21 D9.0

4、有如下程序void f(int *x,int *y){ int t; t=*

有如下程序void f(int *x,int *y){ int t; t=*x;*x=*y;*y=t;}main(){ int a[6]={1,2,4,6,8,10},i,*p,*q; p=a;q=&a[5]; while(p<q) { f(p,q); p++; q--; } for(i...

5、有以下程序#define F(X,Y)(X)*(Y)main(){ int

有以下程序#define F(X,Y)(X)*(Y)main(){ int a=3, b=4; printf("%d\n", F(a++, ++b));}程序运行后的输出结果是A.12 B.15C.16 D.20A12 B15C16 D20

6、有以下程序 void f(int x,int y) { int t; if

有以下程序void f(int x,int y){int t;if(x < y){t=x;x=y;y=t;}}main(){int a=4,b=3,c=5;f(a,b);f(a,c);f(b,c);printf("%d,%d,%dn",a,b...