变量交换

来源:互联网 发布:精灵耳饰 淘宝 编辑:程序博客网 时间:2024/04/30 08:41

众所周知,变量交换可以不使用中间变量。

可以这样:

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是否相等。

0 0