交换a、b值

来源:互联网 发布:淘宝直通车怎样设置 编辑:程序博客网 时间:2024/05/17 22:48

void exchange1(int &a, int &b) {
int t=a;

a=b;

b=a;
}

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

加减法有潜在问题,如果两者相加大于int的范围,会溢出,结果变负值

void exchange3(int &x, int &y)
{
    x = x ^ y;
    y = x ^ y;
    x = x ^ y;
}

0 0
原创粉丝点击