Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有一个变量持有 3 和另一个持有 5。我需要在没有另一个变量的情况下切换它们的值。我该怎么做?
可以使用按位 XOR来完成:
x ^= y; y ^= x; x ^= y;
这被称为XOR 交换算法(维基百科的文章详细介绍了它的工作原理,所以我建议你阅读它)。
但是,这并不是特别容易理解(更不用说它仅适用于整数类型),因此几乎在所有情况下都首选使用临时变量:
int tmp = x; x = y; y = tmp;