方法1:
int main()
{
int a = 8;
int b = 4;
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;
}
方法2:
int main()
{
int a = 8;
int b = 4;
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;
}
"^" 是按位或,8的二进制为1000,4的二进制为0100
第一步: a=1000^0100=1100
第二步: b=1100^0100=1000
第三步: a=1100^1000=0100