解法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;
}