您的位置:首页 > 其它

不用中间变量交换两个数

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得情况)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: