实现两个数的交换最简单的方法是创建一个临时变量,然后进行交换。代码如下:
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
int c = 0;
c = a;
a = b;
b = c;
printf("%d %d",a,b);
return 0;
}
但是在不创建临时变量的条件下应该怎么做呢?
异或方法
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
int c = 0;
a = a^b;
b = a^b;
a = a^b;
printf("%d %d",a,b);
return 0;
}
我们画图来解释下这种方法。
加减法
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
int c = 0;
a = a+b;
b = a-b;
a = a-b;
printf("%d %d",a,b);
return 0;
}
同样,我们画图来解释。