博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
不使用第三个变量交换两个变量的值
阅读量:5278 次
发布时间:2019-06-14

本文共 301 字,大约阅读时间需要 1 分钟。

小结一下:

给出两个变量:var a = 1, b = 2;

 

方法一:

a = a + b;

b = a - b;

a = a - b;

a, b 的值已经交换。

 

方法二:

a = a ^ b;

b = a ^ b;

a = a ^ b;

a, b 的值已经交换。

原理:异或运算,任意一个数与任意一个给定的值异或两次,其值保持不变。

 

方法三:

a = b + (b = a) * 0;  或者

a = (a + b) - (a = b);

a, b 的值已经交换。

转载于:https://www.cnblogs.com/wuzhenbo/archive/2012/04/25/2469223.html

你可能感兴趣的文章
[ucgui] 对话框4——模式消息窗口
查看>>
Android之XML序列化和解析
查看>>
YPBPR_PC下图像有毛刺或者水纹干扰的处理办法
查看>>
刷题向》关于一道奇怪的贪心(田忌赛马)BZOJ1034(NORMAL-)
查看>>
SDN第五次上机作业
查看>>
常用代码收藏
查看>>
设计模式(c#)代码总结
查看>>
POJ-Common Substrings(后缀数组-长度不小于 k 的公共子串的个数)
查看>>
Linux系统查看日志信息总结
查看>>
斐波那契数列
查看>>
Jpa规范中persistence.xml 配置文件解析
查看>>
net1:DateTime,Application与Session,
查看>>
.Net 4.0 新特性
查看>>
Collection类集
查看>>
SpringBoot集成TkMybatis插件 (二)
查看>>
css基础--Display(显示) and Visibility(可见性)and position (定位)
查看>>
[Vuex系列] - 细说state的几种用法
查看>>
Win7下如何设置护眼的电脑豆沙绿界面?保护眼睛的颜色设置教程
查看>>
比较Java中几个常用集合添加元素的效率
查看>>
Linux进程间通信(六):共享内存 shmget()、shmat()、shmdt()、shmctl()
查看>>