加减法
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;
}
该程序输出为:before:a=3,b=5
after:a=5,b=3
加减法的缺陷:当两个数很大时,可能会导致溢出
位操作法
include<stdio.h>
int main()
{
int a = 3;
int b = 5;
printg("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;
}
该程序输出为:before:a=3,b=5
after:a=5,b=3
该方法不用担心溢出