c语言,在多种运算符的表达式中,运算流程是怎么样的? 5

如:x+a%3*(int)(x+y)%2/4,编译器是根据什么规则方法进行计算的?... 如:x+a%3*(int)(x+y)%2/4,编译器是根据什么规则方法进行计算的? 展开
 我来答
匿名用户
2020-04-17
展开全部

优先级1-15,同级按结合方向

1.最高级运算符(左结合): 

  • []

  • ()

  • .

  • ->

2.单目运算符 (结合): 

  • - (负号)

  • ~

  • ++

  • --

  • * (按地址取值)

  • & (取地址)

  • !

  • (type) (强制类型转换,如(int)变量名,或许type(变量名) 会更好看)

  • sizeof

3.算术运算符I(左结合):

  • /

  • *

  • %

4.算术运算符II(左结合):

  • +

  • - (减号)

5.位运算符I(左结合):

  • <<

  • >>

6.关系运算符I(左结合):

  • >

  • >=

  • <

  • >=

7.关系运算符II(左结合):

  • ==

  • !=

8.位运算符II(左结合):

  • & (按位与)

9.位运算符III (左结合):

10.位运算符IV(左结合):

11.逻辑运算符I(左结合):

  • &&

12.逻辑运算符II(左结合):

  • ||

13.条件运算符(结合):

  • : ?(唯一一个三目运算符,糟糕的设计)

14.*后赋值(结合):

  • =

  • /=

  • *=

  • %=

  • +=

  • -=

  • <<=

  • >>=

  • &=

  • ^=

  • |=

15.逗号运算符(左结合):

  • , (相当于“;”,不断开语句的前提下连接表达式,配合不产生嵌套的分支与循环使用,糟糕的设计)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式