给定的两个数 a 和 b,在不使用第三个变量的情况下,交换 a 和 b 的值.
第一种方法:1
2
3x = x ^ y
y = x ^ y
x = x ^ y
第二种方法:1
2
3x = x + y
y = x - y
x = x - y
第三种方法:1
2
3x = x - y
y = x + y
x = y - x
第四种方法:1
2
3x = y - x
y = y - x
x = y + x
第五种方法:1
2
3x = x * y
y = x / y
x = x / y
第六种方法:1
2
3x = y / x
y = y / x
x = y * x
第七种方法:1
2
3x = x / y
y = x * y
x = y / x
第一种方法,最安全不会出现溢出问题.
第二种到第五种方法,可能存在溢出问题(上溢或下溢).
第六种和第七种方法,只适用于浮点数.