C语言 -- 实现两个变量值交换的几种方法?

  在写程序时经常会碰到要交换两个变量的值,这里记录一下看到过的几种方法。

  1.利用一个中间变量实现交换

  int a, b;

  int temp;

  temp = a;

  a = b;

  b = temp;

  2.利用+-操作实现

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

  a = a + b;   //a = 3 b = 2

  b = a - b;  //b = 1 a = 3

  a = a - b;  //a = 2 b = 1

  3.利用乘除操作实现

  int a, b;

  a = a * b;

  b = a / b;

  a = a / b;

  4.利用异或操作实现(当a,b相等时,不可用)

  int a, b;

  a = a ^ b;

  b = a ^ b;

  a = a ^ b;