原理:进行三次异或
第一次:a = a ^ b; b = b;
第二次:a = a ^ b; b = a ^ b ^ b = a;
第三次:a = a ^ b ^ a = b; b = a ;
注:两个元素必须是占两个独立空间的元素;
int main() {
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a = %d\n", a);
printf("b = %d\n", b);
return 0;
}
void swap(int i, int j) {
i = i ^ j;
j = i ^ j;
i = i ^ j;
}