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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 扬帆起航fonnson 中级黑马   /  2016-7-1 20:20  /  716 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

A=A+B
B=A-B
A=A-B
我以前都是用杯子换水的思想,需要第三方。

7 个回复

倒序浏览
qinxuezilu1314 来自手机 中级黑马 2016-7-1 20:34:30
沙发
a=a^b;
b=a^b;
a=a^b;
回复 使用道具 举报
B = A+B-(A=b);这个应该也行
回复 使用道具 举报
先求出它们的总和 最大的数 再去最大的数减去第二个数就等于三个数  用最大的数减去第三个数就等于第二个数啦  
回复 使用道具 举报
这样是有弊端的,因为如果A和B的值过大,会造成此类型存储不下这个值。
所以最好还是用异或的方式或者第三方变量的方式比较好,老师说工作中还是用第三方变量的方式比较多。
回复 使用道具 举报
弓长VV 发表于 2016-7-1 23:45
这样是有弊端的,因为如果A和B的值过大,会造成此类型存储不下这个值。
所以最好还是用异或的方式或者第三 ...

开发中推荐用第三方变量的,
回复 使用道具 举报
方法一:t = x ; x= y ; y = t;
方法二:x = x + y ; y = x - y ; x =x - y ;
方法三:x = x ^ y ; y= x ^ y ; x = x ^ y ;
前一种开发经常用,后两种面试经常考。
回复 使用道具 举报
推荐用三方变量,面试的时候可以用异或的方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马