运算符优先级和结合性

这篇文章的表总结的很好。这里大概总结一下,便于记忆。

运算符的优先级基本符合常识,除了下面5里面的按位运算符,优先级从高到低依次是:

1. 取struct 成员的, 后缀++/--, 和函数调用(),例如(. / -> / [])

2. 一元操作符, 前缀++/--,例如(+ / - / ! / ~ / * / & / (type) / sizeof )

3. 运算符(* / '/' / % / + / - / << / >>)

4. 比较运算符 (> / < / >= / <= / == / !=)

5. 运算符(按位运算) (& ^ |)

6. 逻辑与或 (&& / ||)

7. 三元条件  (?:)

8. 赋值 (= / += / -= / *= / /= / %= / <<= / >>= / &= / ^= / |=)

9. 逗号 (,)

 

关于结合性

一元操作符和三元条件运算符是按照从右往左的顺序结合,其他的都是按照从左到右的顺序。结合的意思是,运算符选哪个操作数当它的操作数。从右到左结合意味着,操作符先选右边的操作数当作它的操作数。之前看过一篇文章有例子,找到的时候贴过来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值