不用中间变量交换两个数
2017-08-01 20:33
211 查看
inline void Swap1(int &a, int &b) { if (a != b) { a ^= b; b ^= a; a ^= b; } }判断不能漏,因为如果a, b指向的是同一个数,那么调用Swap1()函数会使这个数为0(第一步a^=b导致a=0,b和a为同一个值得引用所以b也为零,第2、3步都是0^0得情况)。
相关文章推荐
- 【C++】怎样不用中间变量temp 实现两个数交换
- 不用中间变量交换两个数的陷阱
- 不用中间变量交换两个数
- 怎样不用中间变量temp 实现两个数交换
- 怎样不用中间变量temp 实现两个数交换
- [C/C++] 怎样不用中间变量temp 实现两个数交换
- 位操作(一)交换两个数不用中间变量
- 【C++】怎样不用中间变量temp 实现两个数交换
- 不用中间变量,交换两个数的值
- 不用中间变量交换两个数的值(位移运算)
- 不用中间变量交换两个数的值的方法
- 不用中间变量进行两个数的交换(C语言)
- 判断两个数值中最大的一个以及不用中间变量交换两个数
- 不用中间变量交换两个数
- 不用中间变量,交换两个数的值
- 不用中间变量,交换两个数的值
- 怎样不用中间变量temp 实现两个数交换
- 不用中间变量交换两个数的值
- C语言基础篇(2):按位比较是否相等、找出不是成对出现的单数、不用中间变量实现两个数的交换
- [转][C/C++] 怎样不用中间变量temp 实现两个数交换