网站首页 网站地图
网站首页 > 创业资讯 > c语言运算符优先级

c语言运算符优先级

时间:2026-03-23 18:25:51

C语言运算符的优先级分为15个等级,从高到低依次为:

括号()、箭头运算符(->)、指针运算符(*)

单目运算符(!)、正负号(+,-)

乘法运算符(*)、除法运算符(/)、取模运算符(%)

加法运算符(+)、减法运算符(-)

比较运算符(>)、左移运算符(<<)

等于运算符(==)、不等于运算符(!=)

按位与运算符(&)

按位异或运算符(^)

按位或运算符(|)

逻辑与运算符(&&)

逻辑或运算符(||)

条件运算符(?)

赋值运算符(=)

逗号运算符(,)

结合性方面,括号内的表达式优先级最高,其次是从左至右结合的运算符,最后是从右至左结合的运算符。赋值运算符、条件运算符和逗号运算符是从右至左结合的。

1. `a = b = c = 6;` 这里赋值运算符从右至左结合,先计算 `c = 6`,然后 `b = c`,最后 `a = b`。

2. `int result = a + b * c / d;` 这里乘法和除法的优先级高于加法,因此先计算 `b * c`,然后除以 `d`,最后加上 `a`。

3. `a = ++a;` 这里自增运算符 `++` 的优先级高于赋值运算符 `=`,所以先自增 `a`,再赋值给 `a`。

理解这些运算符的优先级和结合性有助于编写更清晰、更高效的C语言代码。