Loading... 我们交换两个变量a=1,b=2。的值一般都是添加第三变量c ```c c=a; a=b; b=c; ``` 我今天看到一个新的操作。利用异或交换变量的值 <div class="tip inlineBlock success"> 原理: x=((x^y)^y)^(x^y)=x^x^y^y^y y同理 </div> ```C #include<stdio.h> void Fivk(int*,int*); int main(void) { int x=1024,y=2048; printf("x = %d, y = %d\n",x,y); Fivk(&x,&y); printf("x = %d, y = %d of Fivk\n",x,y); return 0; } void Fivk(int *x,int *y) { *x^=*y; *y^=*x; *x^=*y; } ``` ![输出结果](https://blog.fivk.cn/usr/uploads/2021/04/144055443.png) 最后修改:2021 年 04 月 07 日 © 禁止转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏