利用异或逻辑交换两个数

2014-11-23 17:42:45 · 作者: · 浏览: 23

  #include


  void change(int *x, int *y)


  {


  *x = *x ^ *y;


  *y = *x ^ *y;


  *x = *x ^ *y;


  }


  int main()


  {


  int a = 13;


  int b = 30;


  change(&a, &b);


  printf("OK:a = %d\t b = %d\n", a, b);


  return 0;


  }


  结果: OK:a = 30 b = 13