关于交换两个整型变量值的几种方法

// 有以下两个变量 a,b,需求对其中进行交换值,使 a = 2,b = 1

int a = 1;
int b = 2;

通过第三个变量交换

int c = a;  // c = 1
a = b;  // a = 2
b = c;  // b = 1

不通过第三个变量交换

  • 通过表达式
a = a + b - (b = a);  // a = 1 + 2 - (b = 1) = 2
  • 通过 +/- 计算(可能出现溢出)
a = a + b;  // a = 1 + 2 = 3
b = a - b;  // b = 3 - 2 = 1
a = a - b;  // a = 3 - 1 = 2
  • 通过 ^ 计算(最快,但要求 a 不等 b)
a = a ^ b;
b = a ^ b;
a = a ^ b;
发布了40 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/xchenhao/article/details/89977421