【发布时间】:2014-01-10 14:15:07
【问题描述】:
#include<stdio.h>
int main()
{
// We use a trick involving exclusive-or to swap two variables
#define SWAP(a, b) a ^= b; b ^= a; a ^= b;
int x = 10;
int y = 5;
printf("%d%d\n",x,y );
if(x < 0)
SWAP(x, y);
printf("%d%d",x,y );
return 0;
}
输出是:
105
515
即使条件在 if (10
【问题讨论】:
-
发现 XOR 交换有点像发现您可以用膝盖驾驶汽车。尝试一次,忘记它,然后继续前进。