[原创]如何记住C语言的运算符优先级?
学习C语言也有一段时间了,感觉C语言的运算符优先级很难记住,特别是对于初学者而言!
也许你会说没有记住没关系,用括号来改变优先级就可以了。但是很多情况下,因为依赖括号很容易导致程序可读性差,当然我不是反对加括号,只是提倡恰到好
处。总之,还是记住好些,读别人的程序也方便点。近来翻看了一下优先级,感觉还是有规律可循的,拿来和大家分享,希望对大家有帮助!
先给出C语言的运算符优先级表:
C语言运算符优先级表(由上至下,优先级依次递减)
运算符 |
结合性 |
() [] -> . |
自左向右 |
! ~ ++ -- - (type) * & sizeof |
自右向左 |
* / % |
自左向右 |
+ - |
自左向右 |
<< >> |
自左向右 |
< <= > >= |
自左向右 |
== != |
自左向右 |
& |
自左向右 |
^ |
自左向右 |
| |
自左向右 |
&& |
自左向右 |
|| |
自左向右 |
?: |
自右向左 |
Assignments |
自右向左 |
, |
自左向右 |