问题描述
- C#中如何证明&&比||优先级高?
-
https://msdn.microsoft.com/zh-cn/library/ms173145.aspx
http://www.docin.com/p-428596985.html
上面两个说明了&&比||的优先级高,但是如何证明呢?
比如false || true && false 结果是false。
不知道如何证明,如果知道的话,或者有想法的童靴可以解答下。
感激!
解决方案
有时候一知半解自以为自己知道的多,其实比不知道还糟糕。
所谓“短路”对于常量表达式根本是无稽之谈。如果“短路”导致结果无法预料,那么是C#编译器的设计者大脑短路了。
解决方案二:
如何证明乘法比加法优先级高?
很简单,相同优先级表达式从左往右求值,如果不是这样就说明优先级不同,比如
1+2*3=7而不是9足可以证明。
类似的
true || true && false就可以证明。
解决方案三:
改成
true || true && false
如果是||优先级高,那最终应该是false
如果是&&优先级高,那最终应该是true
解决方案四:
true || true && false
false && false || true
上面两个均可以验证。
解决方案五:
优先级高是这样的意思?难道我一直都理解错了!
优先级不应该是
a-b>c-d
算术符号执行的优先级高于比较符号吗?括号优先级最高吗?
a+b/c
算术符号的乘除优先级倒是高于加减
&&和||他们两个哪有什么优先级差别,没括号的时候执行顺序不就是从左往右吗?吗?
解决方案六:
谢谢以上各位的回答,是我钻牛角尖了,关于这个问题,我在cnblogs上得到了答案,如果以后有搜索到该问题的,可以查看下:http://q.cnblogs.com/q/70111/。
时间: 2024-11-10 00:24:28