A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭佳佳 中级黑马   /  2012-7-8 22:55  /  2353 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

谁能形象的说下对int a; int b; int temp; temp=a a=b a=temp;的理解  

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

11 个回复

倒序浏览
这个很好理解啊,举个例子吧,假如你有一个苹果int a,你朋友有一个西瓜int b,你想要交换一下,但是不能互相交换,这时候你只能借助第三方的东西了,比如你有一个桌子int temp,这时候你就可以这样交换了,你先把你的苹果放在桌子上面,这样你的手里面现在上面没有temp=a,然后你朋友将西瓜给你,这样你就又水果了,但是你同朋友就空手了,这样的话a=b,然后你朋友可以从桌子上面拿起来那个苹果,这样b=temp,这样就完成了交换!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
这就像有两个杯子,A杯装的是酒,B杯装的是水,你想把A杯里的酒装到B杯里面,把B杯里的水装到A杯里面,如果不借助于另外一个C杯子你可以做到吗?你必须首先将A杯到进C杯,然后B杯的水才能到进A杯,最后把C杯的就到进B杯,到此就完成了,C杯只不过是一个中介而已!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
就程序而言,temp=a;此时temp就是原来a的值,此时a的值为空或0
a=b;此时把b的值赋值给a,此时的a的值就是原来b的值
b=temp;因为temp此时的值是原来a的,把temp赋值给b,此时b的值就等于a的初始值,到此为止a,b的值就实现互换

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
秦永辉 发表于 2012-7-9 09:26
这就像有两个杯子,A杯装的是酒,B杯装的是水,你想把A杯里的酒装到B杯里面,把B杯里的水装到A杯里面,如果 ...

这个回答好,很形象!很生动!
回复 使用道具 举报
侯慧杰 发表于 2012-7-9 09:32
这个回答好,很形象!很生动!

重在理解!
回复 使用道具 举报
int a;
int b;
int temp;  //定义中间变量
temp=a ;//先把变量a的值赋值给变量temp
a=b ;    //由于变量a为空,就把变量b的值赋值给变量a
b=temp;  //由于变量b为空,就把变量temp的值赋值给变量a,最后实现了变量a和b的值交换

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
int a=1; 可以理解为左手拿了个苹果
int b=2;可以理解为右手拿了个苹果

好 状态已经准备好了,现在要交换这两个手上的东西,怎么办了,我就自己这两只手交换,肯定会掉一个。 我得跟张三说,嗨 ,张三 你先帮我拿下苹果————这里张三伸出来的一只手就是你那里的temp

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
很好理解。这就是一个变量的交换。temp就相当如一个中间量。当把a的值赋给了temp后,也就是temp的值为a,那么此时a的值就为0。然后就是把b的值赋给a,此时a的值就变成了b。这里的b=temp,也是就是把temp中a的值重新赋值给b。那么b中的值也就是a了。这样就实现了a和b的交换。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
支持  呵呵呵
回复 使用道具 举报
int a;
int b;
int temp;
temp = a;//把a变量中的值先赋给tamp
a = b;//然后把b变量中的值赋给a,a中的值就被覆盖为b中的值
b = temp;//然后再把temp中的值(原先a中的值)赋给b。
这样看应该很好理解
如果不使用第三方变量的话,推荐适用异或运算
a = a^b;
b = a^b;//b=(a^b)^b=a
a = a^b;//a=a^(a^b)=b
这种方法更高效。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
有a、b、c三个杯子,a中装满了水,b杯中装满啤酒,c杯是空的,三个杯子容积一样大,现在要把a、b中的液体交换,先把a中的水倒到c中,把b杯中的啤酒倒到a中,再把c杯中的水倒到c杯中,这样就完成了交换。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马