c语言学习总结--优先级(3)
1、如果一个操作数后面有多个后缀,按照离操作数从近到远的顺序(也就是从左到右)依次运算,比如a.name++ ,先算a.name ,再++,这里的.name应该看成a 的一个后缀,而不是把. 看成双目运算符。
2、单目运算符,包括前缀自增++、前缀自减-- 、sizeof 、类型转换() 、取地址运算& 、指针间接寻址* 、正号+ 、负号- 、按位取反~ 、逻辑非! 。如果一个操作数前面有多个前缀,按照离操作数从近到远的顺序(也就是从右到左)依次运算,比如!~a ,先算~a,再求! 。
3、乘* 、除/ 、模% 运算符,
加+ 、减- 运算符,
移位运算符<<和>>,
关系运算符< > <= >=,
相等性运算符==和!=,
按位与&,按位异或^ ,
按位或| ,逻辑与&&,
逻辑或|| ,
条件运算符:?,
是右结合的。