黑马程序员技术交流社区
标题:
关于两个整数变量互换的问题
[打印本页]
作者:
java陈辉
时间:
2013-12-3 22:36
标题:
关于两个整数变量互换的问题
本帖最后由 java陈辉 于 2013-12-4 09:38 编辑
对两个整数变量的值进行互换(不需要第三方变量) a=3,b=7要求将a,b的值互换。求解。
作者:
HAnG
时间:
2013-12-3 22:44
本帖最后由 HAnG 于 2013-12-3 22:49 编辑
用异或运算符
a = a^b;
b = a^b;
a = a^b;
作者:
.Mr
时间:
2013-12-3 22:48
面试的时候通常用的就是异或的方法,即一个数异或同一个数二次结果还是这个数
a=a^b;
b=a^b;
a=a^b;
还有一种就是: 如果2个整数过大会超出int范围,数据会变化
a = a + b;
b = a - b;
a = a - b;
作者:
Faner
时间:
2013-12-4 01:29
第一种 a=3,b=7 a=3+7 b=10-b=10-7=3 a=10-b=10-3=7 结果就是 a=7 b=3
第二就是异或运算符 a = a^b b = a^b = 3^7^7=3 a =a^b=3^7^3=7
作者:
ixiangfeng
时间:
2013-12-4 08:13
.Mr 发表于 2013-12-3 22:48
面试的时候通常用的就是异或的方法,即一个数异或同一个数二次结果还是这个数
a=a^b;
b=a^b;
你确定会超出范围?交换不了吗?
作者:
几番意难相付
时间:
2013-12-4 09:31
a=a+b;
b=a-b;
a=a-b;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2