交换的方法
方法一:使用变量
交换两个变量的值可以多使用一个变量
如:a=1,b=2;
则创立一个变量c,把a的值赋予c,再把b的值赋予a,最后把c的值赋予b
这就完成了交换
#include<stdio.h>
int main()
{
int a=1;
int b=2;
scanf("a=%d,b=%d",&a,&b);
int c;
c=a;
a=b;
b=c;
printf("a=%d,b=%d",a,b);
return 0;
}
方法二:两个数的加减法
将a变为a+b;然后将b变为a-b就将b的值变换为a,a的值就赋予a-b的值变换成功
#include<stdio.h>
int main()
{
int a=1;
int b=2;
scanf("a=%d,b=%d",&a,&b);
a=a+b;
b=a-b;
a=a-b;
printf("a=%d,b=%d",a,b);
return 0;
}
方法三:异或法
数字在计算机中以二进制形式存储,且为32位二进制
异或 指参加运算的两个二进制位值相同则为0,否则为1
如:a=1;b=2
a 000000000000000000000000000000000001
b 000000000000000000000000000000000010
令a进行异或
a 000000000000000000000000000000000011
再将b进行异或
b 000000000000000000000000000000000001
最后a进行异或
a 000000000000000000000000000000000010
最终a=2,b=1;
#include<stdio.h>
int main()
{
int a=1;
int b=2;
scanf("a=%d,b=%d",&a,&b);
a=a^b;
b=a^b;
a=a^b;
printf("a=%d,b=%d",a,b);
return 0;
}