一个有趣的swap函数

时间:2023-03-09 02:42:11
一个有趣的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