原理:
3^3=0
3^0=3
异或运算支持交换律
#include<stdio.h>
int main()
{
int a = 1;
int b = 2;
printf("a为%d,b为%d\n", a, b);
a = a ^ b;
b = a ^ b; //b=a^b^b=a^0=a
a = a ^ b; //a=a^b^a=a^a^b=0^b=b
printf("a为%d,b为%d\n", a, b);
return 0;
}
原理:
3^3=0
3^0=3
异或运算支持交换律
#include<stdio.h>
int main()
{
int a = 1;
int b = 2;
printf("a为%d,b为%d\n", a, b);
a = a ^ b;
b = a ^ b; //b=a^b^b=a^0=a
a = a ^ b; //a=a^b^a=a^a^b=0^b=b
printf("a为%d,b为%d\n", a, b);
return 0;
}