将a、b的值进行交换,并且不使用任何中间变量

时间:2023-12-27 16:59:37

方法1:用异或语句

a = a^b;

b = a^b;

a = a^b;

注:按位异或运算符^是双目运算符,其功能是参与运算的两数各对应的二进制位相异或,当对应的二进制相异时,结果为1。参与运算数仍以补码形式出现。

方法2:

a = a+b;

b = a-b;

a = a-b;

如果a、b都是比较大的两个数,a=a+b时就会超界。

方法3:

a = a - b;

b = a + b;

a = b - a;