C/C++运算符优先级

优先级高的运算符在优先级低的运算符之前计算。当运算符具有相同的优先级时,它们的结合性决定了计算顺序

C语言中的运算符

说明 运算符 结合性
初等运算符 () [] -> . ->
单目运算符 ! ~ ++ – - (类型) * & sizeof <-
算术运算符 * / % ->
算术运算符 + - ->
移位运算符 << >> ->
关系运算符 > >= < <= ->
关系运算符 == != ->
按位与 & ->
按位异或 ^ ->
按位或 | ->
逻辑与 && ->
逻辑或 || ->
条件运算符 ?: <-
赋值运算符 = += -= *= /= %= <<= >>= &= ^= |= <-
逗号运算符 , ->

C++语言中的运算符

运算符 描述 结合性
:: 二元作用域 一元作用域 ->
() [] . -> ++ – typeid dynamic_cast static_cast reinterpret_cast const_cast 初等/类型转换 +±-为一元后自增 ->
++ – + - ! ~ (类型) sizeof & * new new[] delete delete[] +±-为一元前自增 <-
.* ->* 取指向成员的指针 ->
* / % 算术运算符 ->
+ - 算术运算符 ->
<< >> 移位运算符 ->
< <= > >= 关系运算符 ->
== != 关系运算符 ->
& 按位与 ->
^ 按位异或 ->
| 按位或 ->
&& 逻辑与 ->
|| 逻辑或 ->
?: 条件运算符 <-
= += -= *= /= %= &= ^= |= <<= >>= 赋值运算符 <-
, 逗号运算符 ->

注:从上到下优先级递减!

总结:初单算移关,位逻条赋逗!(请一定记住这句话,虽然不是很顺口)

Reference

[1] C/C++中的运算符优先级总结:https://blog.twofei.com/531/

------------------------------- 本文结束啦❤感谢您阅读-------------------------------
赞赏一杯咖啡