运算符优先级判断技巧
运算符优先级判断技巧
在C语言的逻辑里,**数学运算(算术)*的优先级高于*比较运算(关系)
第一层:非 (Unary / 单目) —— 霸道总裁
- 运算符:
!(逻辑非),++,--,sizeof,~,*(指针取值) - 特点: 它们紧紧贴着变量,最先执行。比如
!a或i++。
第二层:算 (Arithmetic / 算术) —— 先算账
- 运算符:
*,/,%>+,- - 特点: 这里遵循小学数学,“先乘除模,后加减”。
第三层:关 (Relational / 关系) —— 后比较
- 运算符:
>,<,>=,<=>==,!= - 注意(这也是考点): “比较大小”的优先级 高于 “判断相等”。
- 例子:
a < b == c实际上是先算(a < b)的结果(0或1),再看这个结果等不等于c。
- 例子:
第四层:逻 (Logical / 逻辑) —— 判真假
- 运算符:
&&(与) >||(或) - 特点: 只有两边的算术和比较都做完了,才能最后进行逻辑判断。
- 注意:
&&比||优先级高(类似于乘法比加法高)。
- 注意:
第五层:赋 (Assignment / 赋值) —— 尘埃落定
- 运算符:
=,+=,-=, etc. - 特点: 所有的架都打完了,最后把结果给别人,所以优先级极低。
运算符优先级判断技巧
http://example.com/2025/12/23/运算符优先级判断技巧/