利用异或的性质
a^a=0
0^a=a
#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
printf("交换前a = % d, b = % d\n", a, b);
a = a ^ b;//3^5
b = a ^ b;//3
a = a ^ b;//5
printf("交换后a = % d, b = % d", a, b);
return 0;
}
利用异或的性质
a^a=0
0^a=a
#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
printf("交换前a = % d, b = % d\n", a, b);
a = a ^ b;//3^5
b = a ^ b;//3
a = a ^ b;//5
printf("交换后a = % d, b = % d", a, b);
return 0;
}