C语言运算符优先级


  1.  sizeof 的运算数不能是类型转型:表达式 sizeof (int) * p 无歧义地转译成 (sizeof(int)) * p ,而非 sizeof((int)*p) 。
  2.  虚构优先级,见下面注意
  3.  条件运算符中部( ? 与 : 之间)的表达式分析为如同加括号:忽略其相对于 ?: 的优先级。

分析表达式时,列于上面表中某行的运算符,将比列于低于它的行中拥有较低优先级的任何运算符,更紧密地绑定到其参数(如同用括号)。例如,表达式 *p++ 被分析为 *(p++) ,而非 (*p)++ 。


拥有相同优先级的运算符以其结合性的方向绑定到其参数。例如表达式 = b = c 被分析为 = (= c) 而非 (= b) = c,因为从右到左结合性。

原文地址: Link

猜你喜欢

转载自blog.csdn.net/u014436243/article/details/79535966