C语言中的运算符的优先级
C语言中的运算符的优先级决定了表达式中运算符的计算顺序,下面列出了C语言中运算符的优先级,从最高到最低:
括号
( )
数组下标
[]
成员访问运算符
.
和->
后缀递增
++
后缀递减--
前缀递增
++
前缀递减--
一元加减
+
-
逻辑非
!
和 按位取反~
类型转换
(类型)
乘
*
除/
取模%
加
+
减-
位移
<<
>>
小于
<
小于等于<=
大于>
大于等于>=
等于
==
不等于!=
按位与
&
按位异或
^
按位或
|
逻辑与
&&
逻辑或
||
条件运算
? :
赋值运算符
=
+=
-=
*=
/=
%=
<<=
>>=
&=
^=
|=
逗号运算符
,
在表达式计算时,具有更高优先级的运算符会先被计算,相同优先级的运算符按照从左到右的顺序计算,但是有括号的情况下,括号内的表达式总是最先计算。此外,大部分赋值运算符具有右结合性,意味着他们从右向左计算,其他大多数运算符具有左结合性。