(29) 有以下程序
void f(int v , int w)
{ int t;
t=v;v=w;w=t;
}
main( )
{ int x=1,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
关于c语言编程问题
答案:2 悬赏:10 手机版
解决时间 2021-06-02 06:08
- 提问者网友:饥饿走向夜
- 2021-06-01 16:16
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-06-01 16:58
函数f是一个值传递的函数,其操作只在函数内部生效,不影响传入参数的值,因此无论main函数中如何调用,最终x,y,z的值不变,所以最终输出为1,3,2,答案为C
全部回答
- 1楼网友:街头电车
- 2021-06-01 17:32
结果为C,虽然在函数f()中v,w的值看似被交换了但是只是交换了函数中的副本,并没有使实参交换
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯