用^(异或)方法:
int main()
{
int a=3;//011
int b=5;//101
printf("交换前:a=%d,b=%d\n",a,b);
//异或(二进制):相同为0,不同为1
a=a^b;//011和101得(110)
b=a^b;//110和101(011=3)
a=a^b;//110和011(101=5)
printf("交换后:a=%d,b=%d",a,b);
return 0;
}
用^(异或)方法:
int main()
{
int a=3;//011
int b=5;//101
printf("交换前:a=%d,b=%d\n",a,b);
//异或(二进制):相同为0,不同为1
a=a^b;//011和101得(110)
b=a^b;//110和101(011=3)
a=a^b;//110和011(101=5)
printf("交换后:a=%d,b=%d",a,b);
return 0;
}