运算符优先级是C语言重要的组成部分,也是程序bug的常见产生源。需要特别注意的有:

  1. 赋值在C语言中的优先级是最低的;
  2. 位运算的优先级高于逻辑运算;
  3. 关系运算符的优先级低于移位,但是高于位运算;
  4. 单目运算的优先级最高;
  5. 同优先级的运算符按照从左向右的顺序解释。

Table 1. C语言运算符优先级

成员括号 ()   []   ->   .
单目运算  !   ~   ++   —   –   (type)   *   &   sizeof
算数运算 *   /   %   +   –
移位运算 <<   >>
关系运算 >   <   >=   <=
==   !=
位与运算 &
^
|
逻辑运算  &&
||
三目运算  ?:
赋值运算  =   +=   -=

 

【版本修订】

v1.1 2015.12.05 增加了表格可读性;增加了注意事项列表。


>> 本文章版权归作者所有,如需转载请联系作者授权许可。
>> 原文来自: 云飞机器人实验室
>> 原文地址: C语言 | C语言运算符优先级
>> 关于我们: 关于云飞实验室
>> 支持我们: 帮助我们可持续发展


作者

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据