1. 异或方式交换
#include <stdio.h>
int main()
{
char a,b;
scanf("%c %c",&a,&b);
a ^= b ^= a ^= b; //核心
printf("a = %c b = %c",a,b);
return 0;
}
运算结果:
算式:
a ^= b 相当于 a = a ^ b
变量(a) = 存储的值的二进制 (a) ^ 存储的值的二进制(b)
规则(二进制运算):
0 ^ 0 = 0
1 ^ 1 = 0
0 ^ 1 = 1
<