源代码
#include<iostream>
using namespace std;
void swap1(int &a,int&b){
int t = a;
a = b;
b = t;
}
void swap2(int &a,int &b){
a = a + b;
b = a - b;
a = a - b;
}
/*
设待交换的值为a1,b1
第一步:a=a1+b1;
第二步:b=a1+b1-b1=a1;
第三步:a=a1+b1-a1=b1;
就达到交换的目的了
*/
void swap3(int &a,int &b){
a = a^b;
b = a^b;
a = a^b;
}
int main(){
int a1 = 3,b1 = 5;
swap1(a1,b1);
printf("%d %d\n",a1,b1);
int a2 = 23,b2 = 45;
swap1(a2,b2);
printf("%d %d\n",a2,b2);
int a3 = 4,b3 = 7;
swap1(a3,b3);
printf("%d %d\n",a3,b3);
}
输出结果
5 3
45 23
7 4