运算符优先级
运算符优先级 优先级 优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。 相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是 单目运算符 、 条件运算符 、 赋值运算符 。 基本的优先级需要记住: 指针最优,单目运算优于双目运算。如正负号。 请特别注意:1 << 3 + 2 && 7等价于 (1 << (3 + 2))&&7. 算术运算 > 移位运算 > 关系运算 > 位运算 > 逻辑运算 > 赋值运算 (算术移 为 关位逻 赋值) a = 2+58>>2>13|15&&8 = 1 运算符优先级C语言优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[整型表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) . 成员选择(对象) 对象.成员名 -> 成员选择(指针) 对象指针->成员名 2 - 负号运算符 -算术类型表达式 右到左 单目运算符 (type) 强制类型转换 (纯量数据类型)纯量表达式 ++ 自增运算符 ++纯量类型可修改左值表达式 单目运算符 -- 自减运算符 --纯量类型可修改左值表达式 单目运算符 * 取值运算符 *指针类型表达式 单目运算符 & 取地址运算符 &表达式 单目运算符 ! 逻辑非运算符 !纯量类型表达式 单目运算符 ~ 按位取反运算符