//演示交换两个整数的三种方法
#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;
}