您的位置:首页 > 其它

变量交换

2014-04-27 11:27 134 查看
众所周知,变量交换可以不使用中间变量。

可以这样:

void exchange(int &a, int &b){
a^=b^=a^=b;
}


或者这样:

void exchange(int &a, int&b){
a = a+b;
b = a-b;
a = a-b;
}


但是这个有个小trap,如果a和b引用同一个变量就会都变成0。
所以,需要先判断a,b是否相等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: