首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于“C”中的结合性

问关于“C”中的结合性
EN

Stack Overflow用户
提问于 2010-06-25 01:22:33
回答 3查看 218关注 0票数 0

我如何判断或理解任何语句或表达式是否具有从左到右或从右到左的结合性?

EN

回答 3

Stack Overflow用户

发布于 2010-06-25 01:24:14

=,+=等,其中有'=‘的运算符是右关联的。

所有其他的都是左相关的。

票数 4
EN

Stack Overflow用户

发布于 2010-06-25 01:24:39

这是一个table of C++ operator precedence。

运算符优先级和结合性在C和C++中是相同的(前者中不存在的模运算符)。

票数 2
EN

Stack Overflow用户

发布于 2010-06-25 01:49:54

阅读标准

编辑:我自己没有这个标准,但我发现this link应该是基于这个标准的。

另外,引用Kernighan &Ritchie的话:

算术运算符从左到右关联。

由&&或||连接的表达式从左到右求值,一旦知道结果的真假,求值就会停止。大多数C程序都依赖于这些属性。

运算符结合性

() [] ->。从左到右

!~ ++ -- +-*(类型)大小从右到左

*/% left to right

    • left to right

<< >>从左到右

< <= > >=从左到右

== !=从左到右

从左到右

^从左到右

|从左到右

从左到右

||从左到右

?:从右到左

= += -= *= /= %= &= ^= |= <<= >>= right to left

,从左到右

与二进制forms.相比,一元& +、-和*具有更高的优先级

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3112315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档