方法1:使用变量,使得两个数交换,代码如下
#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
int tmp = 0;
printf("before:a=%d,b=%d\n", a, b);
tmp = a;
a = b;
b = tmp;
printf("after: a=%d,b=%d\n", a, b);
return 0;
}
方法2:使用加减法实现两个数的交换,代码如下【缺陷:可能会溢出】
#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
printf("before:a=%d,b=%d\n", a, b);
a = a + b;
b = a - b;
a = a - b;
printf("after: a=%d,b=%d\n", a, b);
return 0;
}
方法3:使用异或法实现两个数的交换,代码如下
#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
printf("before:a=%d,b=%d\n", a, b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("after: a=%d,b=%d\n", a, b);
return 0;
}