C语言中运算符的优先级从高到低如下:
(): 圆括号,将表达式括起来,改变运算的优先级;
[]: 方括号,数组下标;
->: 结构体指针访问;
++ --: 自增和自减;
! ~ + -: 逻辑非、按位求反、正负号;
/ %: 乘、除、取模;
-: 加、减;
<< >>: 左移、右移;
< <= > >=: 关系运算符;
== !=: 相等、不相等;
&: 按位与;
^: 按位异或;
|: 按位或;
&&: 逻辑与;
||: 逻辑或;
?:: 三目运算符;
= += -= *= /= %= <<= >>= &= ^= |=:赋值运算符;
,: 逗号运算符。
需要注意的是,优先级越高的运算符越先被执行。如果不确定,建议使用括号来明确表达式执行顺序,代码可读性更高。