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

  • 以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,最重要还是如何去理解

你可能感兴趣的:(不借用第三个变量,如何交换两个变量的值)