前言
在实际运用中我们常常会在if和while中加入组合判断条件,有时候为了省事不加括号导致了出现难以发现的问题
优先级定义
在C语言中,运算符按照优先级进行计算。以下是常见的C语言运算符按照优先级从高到低的顺序:
- 括号:()
- 数组下标访问:[]
- 成员选择运算符:.(点运算符)和 ->(箭头运算符)
- 后缀递增/递减运算符:++、–
- 前缀递增/递减运算符:++、–
- 一元运算符:+(正号)、-(负号)、!(逻辑非)、~(按位取反)、*(间接引用)、&(取地址)
- 强制类型转换运算符:(type)
- 算术运算符:*(乘法)、/(除法)、%(取模)、+(加法)、-(减法)
- 移位运算符:<<(左移)、>>(右移)
- 关系运算符:>、<、>=、<=
- 相等运算符:==、!=
- 位运算符:&(按位与)、^(按位异或)、|(按位或)
- 逻辑运算符:&&(逻辑与)、||(逻辑或)
- 条件运算符:?:
- 赋值运算符:=、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=
- 逗号运算符:,
请注意,优先级高的运算符会在优先级低的运算符之前进行计算。如果你需要改变运算的顺序,可以使用括号来明确指定运算的优先级。
如果实在不确定统一加括号