我通过LinkedIn的链接发现了这个面试问题,我知道XOR的作用是什么,但与此同时,如果我不必这样做,我对这种情况感到不舒服。我尽量不让自己过于复杂。
但我真的想更多地了解这些事情在我将来找到一个好用例的情况下如何运作。
预测以下程序的输出
public class Program { public static void Main(string[] args) { int x = 1975; int y = 2015; x ^= y ^= x ^= y; Console.WriteLine("x = " + x + "; y = " + y); } }
它给出了输出
x = 0; Y = 1975
有人可以打破这个步骤来解释这行代码究竟发生了什么吗?转让顺序等?
x ^= y ^= x ^= y;