在我的工作中,我们总是陷入不必要的编码争论。今天我问条件 AND (& &)或 OR (| |)是否具有更高的优先级。我的一个同事坚持他们有同样的优先权,我有疑问,所以我查了一下。
根据 MSDN,AND (& &)的优先级比 OR (| |)高。但是,你能向持怀疑态度的同事证明吗?
Http://msdn.microsoft.com/en-us/library/aa691323(vs.71).aspx
bool result = false || true && false; // --> false
// is the same result as
bool result = (false || true) && false; // --> false
// even though I know that the first statement is evaluated as
bool result = false || (true && false); // --> false
所以我的问题是如何用代码证明 AND (& &)比 OR (| |)具有更高的优先级?如果你的答案是它不重要,那么为什么它在语言中是这样构建的?