int main()
{
int a = 1;
int b = 3;
a = a^b;
b = a^b;
a = a^b;
printf("a = %d\n", a);
printf("b = %d\n", b);
return 0;
}
上述代码实现了不创建临时变量实现a,b值的交换,这里注意^操作符的使用
记住这个规律:a^a = 0, 0^a = a
因此 a^b^a = b, a^b^b = a
^操作满足交换律
微信扫一扫
int main()
{
int a = 1;
int b = 3;
a = a^b;
b = a^b;
a = a^b;
printf("a = %d\n", a);
printf("b = %d\n", b);
return 0;
}
上述代码实现了不创建临时变量实现a,b值的交换,这里注意^操作符的使用
记住这个规律:a^a = 0, 0^a = a
因此 a^b^a = b, a^b^b = a
^操作满足交换律
相关推荐