繁体   English   中英

C编程语言的运算符优先级表

[英]Operator precedence table for the C programming language

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

我在网上进行了广泛的搜索,发现了许多这样的优先级表。 las,我还没有一个能满足这些要求的:

  • 列出ISO 9899:2011中定义的C语言中的所有运算符,而不混入任何C ++运算符。
  • 完整和正确的优先级顺序列出操作员。

在此处输入图片说明


说明

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

协会。 表示操作员关联性 ,如果适用的话。 关联性可以是从左到右或从右到左。

来源

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

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

然后,在内容丰富(非规范性)的脚注中作为注释:

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

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

该表中的所有正式运营商名称均来自第6.5章,该名称可在规范性文字中找到。 非正式名称包括在程序员社区可能比标准提供的名称更熟悉另一个名称的情况下。

这里:

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

(我在自己的表中添加了_Alignof ,我认为这是C11中唯一的新运算符,并在该表中发布了它。也许是作弊?欢迎提出关于改进表的评论和建议。)

这个站点有一个很好的优先级表:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM