1.方法一
运用到简单的数学算法
int main()
{
int a = 2;
int b = 3;
a = a + b;
b = a - b;//b = a+b - b = a;
a = a - b;//a = a+b - a = b;
printf("a=%d b=%d", a, b);
return 0;
}
2.方法二
运用到位操作符当中的‘^’(按位异或)
按位异或当中:
- 不同的结果为1,相同则为0.
- 0^a = a
- a^a = 0
int main()
{
int a = 5;
int b = 12;
a = a ^ b;
b = a ^ b;//b = (a^b)^b = a^b^b = a^0 = a;
a = a ^ b;//a = (a^b)^a = a^b^a = a^a^b = 0^b = b;
printf("a=%d,b=%d", a, b);
return 0;
}