黑马程序员技术交流社区

标题: 不借助第三者,实现变量互换 [打印本页]

作者: 倚码可待    时间: 2016-4-9 18:57
标题: 不借助第三者,实现变量互换
有几种方法?
作者: 倚码可待    时间: 2016-4-9 18:59
A=A^B;
B=B^A;
A=A^B;
作者: zhaoch    时间: 2016-4-9 20:08
x = x ^ y;
y = x ^ y;
x = x ^ y;
因为x == x ^ y ^ y;
作者: 蟑螂小强    时间: 2016-4-9 21:47
不知道啊,就知道异或一种
作者: zhoubinjian    时间: 2016-4-9 23:26
如果两数的和是在int类型范围内的,是有两种的,一种异或,楼上有,另一种:a=a+b;b=a-b;a=a-b;
作者: 腾龙3158    时间: 2016-4-10 00:43
就是楼上提到的两种
作者: yaoguobin    时间: 2016-4-10 00:52
一个数异或^另外一个数两次,这个数不变 ......a == a^b^b
作者: huhemingtiancai    时间: 2016-4-10 00:56
就是异或呗。
作者: 性感不是骚    时间: 2016-4-10 01:19
a=a+b;b=a-b;a=a-b;
作者: 性感不是骚    时间: 2016-4-10 01:20
a=a+b;b=a-b;a=a-b;
作者: suen530    时间: 2016-4-10 08:40
上面这两种都是可以的
作者: CX898855195    时间: 2016-4-10 10:30
最好不要用加法那种,有可能数字过大相加会超出范围,建议用异或的方式
作者: 泪无痕    时间: 2016-4-10 10:33
亦或和如果两数的和是在int类型范围内的a=a+b;b=a-b;a=a-b;
作者: cohle1992    时间: 2016-4-10 10:36
异或方法.两次




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2