我在一个网站上读到,使用异或交换速度很快,因为它不使用临时变量。这是一个例子:
#include <stdio.h>
int main(void)
{
int a=234,b=789;
b=b^a;
a=b^a;
b=b^a;
printf("a=%d,b=%d",a,b);
return 0;
}
为什么人们不在现实生活中的代码中使用这种技术?只是风格差吗?有什么没有明确定义的吗?我的编译器可能会自动从更清晰的代码中产生优化吗?