一个有趣的swap函数

C语言版:

void swap (int a, int b)
{
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
}

原理:
a ^ a == 0
0 ^ b == b
异或:同则为零。异则为一
a ^ (b ^ a) == b
b ^ (b ^ a) == a

posted @ 2015-12-27 10:56  zfyouxi  阅读(150)  评论(0编辑  收藏  举报