Cod*_*yer 5 c# arithmetic-expressions
由于大多数人都接受过根据PEDMAS或BODMAS规则评估算术表达式的训练而产生这种混淆,而像C#这样的编程语言中的算术表达式不能以相同的方式工作.
你有什么需要呢?
优先规则指定运算符的优先级(首先评估哪些运算符,例如乘法优先于加法,PEMDAS).
该关联规则告诉如何相同的优先级的运营商进行分组.算术运算符是左关联的,但赋值是右关联的(例如a = b = c将被计算为b = c,a = b).
该顺序是应用优先级和关联性规则的结果,并告诉我们将如何评估表达式 - 哪些运算符将被评估为firs,稍后将对其进行评估.可以使用大括号更改实际顺序(大括号也是具有最高优先级的运算符).
编程语言中运算符的优先级和关联性可以在其语言手册或规范中找到.
我不确定是否真的有区别。传统的 BODMAS(括号、阶数、除法、乘法、加法、减法)或 PEDMAS(括号、指数、除法、乘法、加法、减法)只是所有可能运算的子集,并表示这些运算应应用的顺序我不知道有哪种语言违反了 BODMAS/PEDMAS 规则,但每种语言通常都会添加各种其他运算符 - 例如 ++、--、= 等。
我总是随身携带一份运算符优先级列表,以防混淆。然而,当有疑问时,通常值得使用一些括号来使含义清晰。请注意,括号没有最高优先级 -有关 C++ 示例,请参阅http://msdn.microsoft.com/en-us/library/126fe14k.aspx 。
| 归档时间: |
|
| 查看次数: |
9043 次 |
| 最近记录: |