黑马程序员技术交流社区

标题: 这个问题把我和小伙伴们难倒了 [打印本页]

作者: 18045621320    时间: 2015-12-7 22:22
标题: 这个问题把我和小伙伴们难倒了
给定两个变量怎么不通过第三个变量交换他们的值?
作者: 龙sama    时间: 2015-12-7 22:30
运用加减法实现
x=x+y;
y=x-y;
x=x-y;
运用
作者: 龙sama    时间: 2015-12-7 22:33
运用异或运算
x=x^y;
y=x^y;
x=x^y;
作者: 再续啸傲    时间: 2015-12-7 22:34
int a,b;
a = a^b;
b = a^b;//这句话右边的a此时已变成(a^b),所以这句话其实就是b = (a^b)^b,此时a的值就赋给了b。
a = a^b;//这句话的右边a的值还是(a^b),这句话为a = (a^b)^a,此时将b的值赋给a,完成换位





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