交换两个变量值三种办法

2017-03-16  本文已影响0人  yimt

int x = 5,int y = 10;

一、第三方变量

int temp;
temp = x;
x = y;
y = temp;

x=10,y=5;

二、不需要定义第三方变量(不推荐)

x = x + y;
y = x - y;
x = x - y;

x=10,y=5;

//该方法有个弊端x和y足够大的时候x+y可能超过int的存储范围、

三、不需要定义第三方变量,^(异或)来实现

x = x ^ y;      
y = x ^ y;      //当中x=x^y代入,(x^y)^y=x所以y=x;
x = x ^ y;      //当中x=x^y, y=x代入,(x^y)^x=y所以x=y;

x=10,y=5;

^的特点:一个数据对另一个数据位异或两次,该数本身不变。

上一篇 下一篇

猜你喜欢

热点阅读