`

C语言运算符的“优先级口决”

阅读更多
优先级列表:
http://www.slyar.com/blog/c-operator-priority.html

口诀:
http://www.kanhot.com/viewthread.php?tid=38
引用

括号成员第一; //括号运算符[]() 成员运算符. ->
  全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*&
  乘除余三,加减四; //这个"余"是指取余运算即%
  移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等
  等于(与)不等排第七; //即== !=
  位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)
  "三分天下"八九十;
  逻辑或跟与; //逻辑运算符:|| 和 &&
  十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)
  条件高于赋值, //三目运算符优先级排到 13 位只比赋值运算符和","高//需要注意的是赋值运算符很多!
  逗号运算级最低! //逗号运算符优先级最低

一共有十五个优先级:
1   () [] . ->
2   ! ~   -(负号) ++ --   &(取变量地址)*   (type)(强制类型)    sizeof
3   * / %
4   + -
5   >> <<
6   > >= < <=
7   == !=  
8   &
9   ^  
10 |  
11 &&
12 ||
13 ?:
14   = += -= *= /=   %= |=   ^=   &=   >>=   <<=
15 ,
结合性:2   13 14 是从右至左   其他都是 从左至右
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics