现在的位置: 首页 > 综合 > 正文

不用中间变量的值交换

2013年09月03日 ⁄ 综合 ⁄ 共 143字 ⁄ 字号 评论关闭

int x, y;
x = x + y;
y = x - y;
x = x - y; 

这种方法的缺点就是:如果x,y都是比较大的两个数那么x=x+y有可能超界溢出,可以采用如下异或的方法:

x = x ^ y;
y = x ^ y;
x = x ^ y;

上面两种方法尽管都不用中间变量,但可读性明显不如使用中间变量的方法好,因而实际应用中采用较少。

 

抱歉!评论已关闭.