说明:在网上找到了一个总结的很好很醒目的C语言优先级表,方便今后编程查阅。
* C语言运算符优先级(共计15个等级)
1. 非运算符(函数调用, 复合数据结构取元素): "()", "[]", "->", "."
2. 单目运算符: "!", "~", "++", "--", "-", "(type)"(类型转换), "*", "&", "sizeof"
3. 双目运算符:
1) 算术运算符:
a) 乘除: "*", "/", "%"
b) 加减: "+", "-"
2) 移位运算符: "<<", ">>"
3) 关系运算符:
a) 大小比较: "<", "<=", ">", ">="
b) 相等比较: "==", "!="
4) 逻辑运算符:
a) 按位逻辑运算符:
* 按位与: "&"
* 按位异或: "^"
* 按位或: "|"
b) 顺序逻辑运算符:
* 短路与: "&&"
* 短路或: "||"
4. 三目运算符: "?:"
5. 赋值运算符: "=", "*=", "/=", "%=", "+=", "-=", ...等等
6. 逗号运算符: ","
* C语言运算符结合性:
1. 右结合: 单目运算符, 三目运算符, 赋值运算符
2. 左结合: 第一条未列出所有运算符为左结合