交换两个变量的值,古老的话题,下面把各种方法做个总结。
为了方便,先定义两个变量。
int a = 1; int b = 2;
int tmp; tmp = a; // tmp = 1 a = b; // a = 2 b = tmp; // b = 1
int *p; p = &a; // tmp->1 a = &b; // a->2 b = p; // b ->1
a = a + b // a = 3 b = a - b // b = 1 a = a - b // a = 2
a = a * b // 2 b = a / b // 2 a = a / b // 1
// a:0000 0001 // b:0000 0010 a = a ^ b // a:0000 0011 b = a ^ b // b:0000 0001 a = a ^ b // a:0000 0010
原文地址:http://blog.csdn.net/xufeng0991/article/details/40648961