如果不引入第三个变量,你还有几种方法交换ab两个数?
int a=10;
int b=20;
怎么交换a,b?
优点:便于理解,推荐使用
int temp=a;
a=b;
b=temp;
缺陷:加法在二进制运算中,当a,b数值本来就比较大时,可能进位,就会造成溢出
a=a+b;
b=a-b;
a=a-b;
🍉运算步骤:
🍉运行结果:
想详细了解异或^,请移步位运算
较第一种方法缺点:难理解 较第二种方法优点:不会进位,不会溢出
a=a^b;
b=a^b;
a=a^b;
🍉运算步骤:
🍉运行结果:
🍉方法二和方法三相似点和记忆:左侧都依次是aba