题目:int a=10,b=15; 将a / b的值互换。
通常我们的做法是定义一个新的变量,借助它完成交换。代码如下:
int a,b;
a=10; b=15;
int t;
t=a; a=b; b=t;
问题:如何不用任何额外变量交换两个整数的值?
思路:使用位运算的异或运算,或者使用算数运算。
位运算
通过异或运算也能实现变量的交换,这也许是最为神奇的,请看以下代码:
int a=10,b=12; //a=1010^b=1100;
题目:int a=10,b=15; 将a / b的值互换。
通常我们的做法是定义一个新的变量,借助它完成交换。代码如下:
int a,b;
a=10; b=15;
int t;
t=a; a=b; b=t;
问题:如何不用任何额外变量交换两个整数的值?
思路:使用位运算的异或运算,或者使用算数运算。
位运算
通过异或运算也能实现变量的交换,这也许是最为神奇的,请看以下代码:
int a=10,b=12; //a=1010^b=1100;