不借用第三个变量,如何交换两个变量的值

  • 以int变量a和b,不借助第三个变量,交换两个变量的值
算数运算
方法一:
a = a + b;
b = a - b; // b = (a +b)-b,即 b = a
a = a - b; // a = (a+b)-a
【不借用第三个变量,如何交换两个变量的值】方法二:
a = a - b;
b = a + b; // b = (a-b)+b,即b=a
a = b - a; // a = a - (a-b)
  • 注:当然这里也可以是b-a,方法一样
位运算 异或
a = a^b;
b = a^b; // b = (a ^ b)^b,即b=a;
a = a^b; // a = (a ^ b)^a
  • 注:看起来很简单,都是a^b,最重要还是如何去理解

    推荐阅读