黑马程序员技术交流社区

标题: 用异或来交换两个变量的值 [打印本页]

作者: 980595778    时间: 2015-5-13 22:51
标题: 用异或来交换两个变量的值
前段时间看见的一个面试题,交换两个变量的值,不用第三方变量。
想到异或来处理,如下:
int x,y;x = x^y;
y = x^y;  //     y = ( x^y) ^y ---------->y = x^y^y =x 两个相同的变量抵消
x = x^y; //同上


作者: Advances    时间: 2015-5-13 23:45
int x=10;
int y=20;
x=x+y;
y=x-y;
x=x-y;
或者
int x=10;
int y=20;
x=x*y;
y=x/y;
x=x/y;也是可以的  但是有局限性
作者: hsx500    时间: 2015-5-14 09:10
还是定义新变量简单
作者: 980595778    时间: 2015-5-14 15:36
Advances 发表于 2015-5-13 23:45
int x=10;
int y=20;
x=x+y;

恩恩 ,学习了




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