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