面试中经常考到的一个题。原理跟 a=a+b; b=a-b; a=a-b; 一样的,很简单,不解释。
//宏定义 交换两个变量的值。使用异或运算。
#define SWAP(a,b) {a=a^b; b=a^b; a=a^b;}
int main()
{
int i, j;
i = 1213;
j = 1314;
SWAP(i, j);
printf("i=%d,j=%d \n", i, j);
return 0;
}
时间:2018-12-19 13:34:28
面试中经常考到的一个题。原理跟 a=a+b; b=a-b; a=a-b; 一样的,很简单,不解释。
//宏定义 交换两个变量的值。使用异或运算。
#define SWAP(a,b) {a=a^b; b=a^b; a=a^b;}
int main()
{
int i, j;
i = 1213;
j = 1314;
SWAP(i, j);
printf("i=%d,j=%d \n", i, j);
return 0;
}