运算符优先级
以下运算符,相同等级的运算符优先级相同(从左往右运行)。数字越大优先度越低。
1.
后置++、后置--、[]、()、.(这是一个点。成员选择:对象)、->(成员选择:指针)
2.
-(负号运算符,取某个表达式的值的负数)、(类型)(强制转换)、前置++、前置--、*(取值运算符)、&(取地址运算符)、!(逻辑非运算符)、~(按位取反)、sizeof(取长度运算符)
3.
/、*、%
4.
+、-
5.
<<、>>
6.
>、<、>=、<=
7.
==、!=
8.
&(按位与)
9.
^(按位异或)
10.
|(按位或)
11.
&&(逻辑与)
12.
||(逻辑或)
13.
?:(条件运算符)
14.
=、/=(除后赋值)、*=、%=、+=、-=、<<=、>>=、&=、^=、!=
15
,(逗号运算符)
相同优先级中,大多数运算是从左到右的。只有三个优先级从右到左,那就是单目、条件、赋值运算符。
基本的优先级:
指针最优。
单目运算符优于双目运算符(如负号)。
先乘除后加减
先算术运算后移位运算,最后位运算。
最后进行逻辑运算。