一共有十五个优先级:
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
结合性:2 13 14 是 右结合(从右至左) 其他都是 左结合(从左至右)
括号成员第一 // 括号运算符[]() 成员运算符. ->
全体单目第二 // 所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&
乘除余三加减四 // 这个"余"是指取余运算即%
移位五,关系六 // 移位运算符:<< >> ,关系:> < >= <= 等
等于 不等排第七 // 即== 和!=
位与异或和位或 // 这几个都是位运算: 位与(&)异或(^)位或(|)
三分天下**十
逻辑与跟或 // 逻辑运算符:|| 和 &&
十一跟十二 // 注意顺序:优先级(&&) 高于 优先级(||)
条件高于赋值 // 三目运算符优先级排到13 位只比赋值运算符和","高
逗号运算级最低 // 逗号运算符优先级最低 |
|