此算法能够实现是由异或运算的特点决定的,
通过异或运算能够使数据中的某些位翻转,其他位不变。
这就意味着任意一个数与任意一个给定的值连续异或两次,值不变。
代码实现:
1 #include<cstdio> 2 void Swap(int &x,int &y) 3 { 4 x^=y; 5 y^=x; 6 x^=y; 7 } 8 int main() 9 { 10 int x,y; 11 scanf("%d%d",&x,&y); 12 Swap(x,y); 13 printf("%d %d",x,y); 14 }