C语言2级:C编程语言的运算符优先级表(precedence table in c)

列出 C语言中所有运算符的正确运算符优先级表将是什么样子?

我在网上进行了广泛的搜索,并发现了许多这样的优先表。唉,我还没有找到一个填充这些要求:

按照 ISO 9899:2011 中的定义,列出 C语言中的所有运算符,而不混合任何 C++ 运算符。

完整和正确的优先级顺序列出运算符。

6

enter image description here

解释

Prec.表示运算符优先级,其中组 1 的优先级最高,组 17 的优先级最低。

Assoc.表示operator ociativity,在这种情况下适用。关联性可以是从左到右或从右到左。

Sources

我对这篇文章的野心是在 Stack Overflow 现场提供一个运算符优先级表,这是正确和规范的。这个运算符优先级表直接对应于 ISO 9899:2011 的 6.5 章,我们可以阅读(6.5 / 3):

运算符和操作数的分组由语法指示。85)

然后作为评论,在信息性(非规范性)脚注中:

85)语法指定了运算符在表达式求值中的优先级,该优先级与此子子句的主要子子句的顺序相同,优先级最高。/--/

在每个主要子子句中,运算符具有相同的优先级。每个子子句中的左关联或右关联由其中讨论的表达式的语法表示。

表中所有正式的操作符名称均取自第 6.5 章,在规范文本中可以找到这样的名称。在程序员社区可能比标准中给出的名称更熟悉另一个名称的情况下,包括非正式名称。

1

Here:

http://basen.oru.se/c/operators.html

(我在自己的表中添加了_Alignof,我认为它是 C11 中唯一的新运算符,并在那里发布。也许那是作弊?欢迎对如何改进表提出意见和建议。)

0

这个网站有一个非常好的优先级表:

http://www.difranco.net/compsci/C_Operator_Precedence_Table.htm

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(451)
C语言返回值类型由什么决定:为什么 C#方法不返回值(c# method)
上一篇
X站源码:MacOSX自定义坞站应用程序
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(84条)