如何交换两个整数是个再平常不过的问题,这里给出三种方法。第一种就是大家最熟知的使用tmp,后两种不使用第三变量。
//演示交换两个整数的三种方法
#include <iostream>
using namespace std;
int main(){
//方法一,使用第三方变量
int a = 10;
int b = 5;
cout<<"Method1:"<<endl;
cout<<"Before change: a="<<a<<" b="<<b<<endl;
int tmp = a;
a = b;
b = tmp;
cout<<"After change: a="<<a<<" b="<<b<<endl;
//方法二,使用加减法
a = 10;
b = 5;
cout<<"Method2:"<<endl;
cout<<"Before change: a="<<a<<" b="<<b<<endl;
a = a + b;
b = a - b;
a = a - b;
cout<<"After change: a="<<a<<" b="<<b<<endl;
//方法三,使用异或运算及其交换律
a = 10;
b = 5;
cout<<"Method3:"<<endl;
cout<<"Before change: a="<<a<<" b="<<b<<endl;
a = a ^ b;
b = a ^ b;
a = a ^ b;
cout<<"After change: a="<<a<<" b="<<b<<endl;
return 1;
}
转载于:https://blog.51cto.com/wwssttt/520477