C++交换函数如何交换的

#include<iostream>voidwsad(int,int);intmain(){intx=1,y=9;std::cout<<x<<","<<y<<"输出1:在... #include <iostream>
void wsad(int,int);
int main()
{
int x=1,y=9;
std::cout<<x<<","<<y<<"输出1:在main函数中x值为:1,y的值为:9\n";
wsad(x,y);
std::cout<<x<<","<<y<<"输出4:在wsad函数中x值为:1,y的值为:9\n";
return 0;
}
void wsad(int x,int y)
{
std::cout<<x<<","<<y<<"输出2:在wsad函数中x值为:1,y的值为:9\n";
int z;
z=x;
x=y;
y=z;
//求告知为什么这里x变为9,y变为1?只知道是加入变量z通过z来交换的但不怎么理解!
std::cout<<x<<","<<y<<"输出3:在wsad函数中x值为:9,y的值为:1\n";
}
展开
 我来答
百度网友fb85f7b
2015-10-07 · TA获得超过240个赞
知道小有建树答主
回答量:106
采纳率:100%
帮助的人:75.7万
展开全部
你可以这样理解 :
把三个变量x、y、z,看成三个瓶子:x瓶子中装有1克油,y中装有9克油,z是空瓶子。
现在:
把x中的1克油倒进空瓶z中,即z=x;
此时z瓶有1克油,x变成空瓶。

再把y中的9克油倒进空瓶x中,即x=y;
此时x中有9克油,y变成空瓶。

最后,把z瓶中的1克油倒进空瓶y中,即y=z;
此时y中有1克油。而x中是9克油。

这样就完成两个变量交换了。

望采纳。
_________本拙
2015-10-07 · 超过14用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:18.5万
展开全部
开始x是1,y是9对吧?
z=x;//把x的值给z,z就是1了,x还是1
x=y;//把y的值给x,x就是9了,y还是9,
y=z;// 把z的值给y,y就是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式