【描述】
输入两个变量a,b,交换a和b值
【解法】
①三变量法
利用一个临时变量来暂存一个数值,借此实现变量值的交换
#include<stdio.h>
int main(){
int a,b,tmp;
scanf("%d%d",&a,&b);
tmp = a;
a = b;
b = tmp;
printf("%d %d\n",a,b);
return 0;
}
②二变量利用加减运算
不借助临时变量,利用加减操作实现变量值的交换
#include<stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
a = a+b;
b = a-b;
a = a-b;
printf("%d %d\n",a,b);
return 0;
}
该方法有一定的局限性,只有支持加减操作的变量才能使用
③二变量利用位运算
与法2相同,只不过利用了适用范围更广的位运算
#include<stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
a = a^b;
b = a^b;
a = a^b;
printf("%d %d\n",a,b);
return 0;
}