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

© 大悟云 中级黑马   /  2014-10-26 18:15  /  2087 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

交换a,b变量的值

int  a = 1;
int  b = 2;
1.利用中间变量
int c = a;
b = a;
a = b;
2.不利用中间变量
a = b-a;
b = b-a;
a = a+b;

评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

10 个回复

正序浏览
楼主很认真啊,顶起
回复 使用道具 举报
这不是 视频中的嘛
回复 使用道具 举报
实际开发中只会用到更多
回复 使用道具 举报
不过感觉在实际开发过程中不会用到这么多
回复 使用道具 举报
很精典的!!!
回复 使用道具 举报
昨天刚看的这个,感觉还不错,大脑真是个神奇的地方,什么点子都会出现!
回复 使用道具 举报
neokevin 来自手机 初级黑马 2014-10-28 01:39:43
报纸
也可以用异或运算符实现哦!如果不使用多余的临时变量的话可以使用int a=1;int b=2;a=a^b;b=a^b;a=a^b;其中利用的原理呢就是一个数异或另一个数两次结果不变…
回复 使用道具 举报
哦,对,写的时候没注意
回复 使用道具 举报
顶一个·~~
回复 使用道具 举报
1 利用中间变量
正确写法
int c=a;
a=b;
b=c;
a,b变量的值不能直接交换,就相当于两瓶水不能直接交换瓶子里的谁,这时候就需要一个空的瓶子,即变量c,先把a赋值给c,然后a=b,把b的值赋给a,此时,c的值和a一样,再把c的值赋给b,即完成了变量值的交换。
2 不利用中间变量
该方法考察的是赋值问题。
执行第一条语句a=b-a,然后b=b-a即 b=b-(b-a)=a
执行a=a+b 即a=b-a+a=a。完成值的交换。应注意赋值过程中值的变化。
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马