Operation priority in C language
运算符结合性
() [] -> .自左向右! ~ ++ – - (type) * & sizeof自右向左
/ %
自左向右
-
自左向右<< >>自左向右< <= > >=自左向右== !=自左向右&自左向右^自左向右I自左向右&&自左向右II自左向右?:自右向左assignments(=)自右向左,自左向右
Table 1
可见 * 优先级最高的其实并不是真正意义上的运算符 * 单目运算符优先级仅次于前述运算符 * 双目运算符: 算术运算符>移位运算符>关系运算符>逻辑运算符>赋值运算符>条件运算符
注意两点: 1. 任何一个逻辑运算符的优先级低于任何一个关系运算符 2. 移位运算符的优先级比算数运算符要低,但是比关系运算符要高
算数运算符之间的优先级关系显而易见.但是6个关系运算符的优先级并不相同, 运算符== 和!=的优先级要低于其他关系运算符的优先级.任何按位逻辑运算符优先级要高于一般逻辑运算符,每个“与”运算符要高于“或”运算符.三目运算符优先级高于赋值运算符.逗号运算符优先级最低.
转载请注明原文地址: https://ju.6miu.com/read-14945.html