本帖最后由 TBG3 于 2017-4-6 11:46 编辑
好像本论坛大多数程序员不记优先度,用括号来表达。当然是一种解决办法。但是你读别人的程序时呢? 人家不加括号你怎么办?
记的方法,扎实的办法就是死记,效果最好,这里就不做详细介绍了。
就介绍一种简单的方法,就五条。
一是单目运算符,包括数组,结构,++ -- ~ !之类,最优先。 因为神是唯一的神,所以好好敬服他吧。
第二是运算次优先,+ - * / << >>,因为资本主义世界,你要算清楚,不然肯定亏。注意这里面移位最不优先,因为人都不乐意地位变化。
第三是关系优先于逻辑,所以 > < == != 优先于与或非,与或非里面,个数多的,优先单个的,也就是说 & | 优先于 && ||
第四就是 赋值最不优先,因为等你都做出来之后,才会赋予你报酬。注意,因为 ? :里面有关系,所以在赋值里面最优先。
第五条是 单目里面的优先度,和2,3,4里面的优先度是一样一样的,赋值里面的优先度也跟2,3是一样一样的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
第1优先级: 括号运算符和成员运算符。例如:1:括号运算符:() 2:数组运算符:[] 3:成员运算符:->
第2优先级: 所有的单目运算符。例如:++(自增)、 --(自减)、 +(正号)、 -(负号)、~(按位取反)、 !(否定) 指针运算符:*(取值)、 &(取地址)
第3优先级: 乘号、除号、取余。例如:*(乘号)、 /(除号)、 %(取余)
第4优先级: 加号、减号。例如:+(加号)、 -(减号)
第5优先级: 移位运算符。例如:<<(左移)、 >>(右移)
第6优先级: 关系运算符。例如:>(大于)、 <(小于)、 >=(大于等于)、 <=(小于等于)
第7优先级: 等于号与不等于号。例如:==(等于号)、 !=(不等于号)
第8优先级: 位运算符。例如:&(按位与)、 ^(按位异或)、 |(按位或)
第9优先级: 逻辑运算符。例如: &&(逻辑与)、 ||(逻辑或)
第10优先级: 条件运算符(三目运算符)。例如:?:
第11优先级: 赋值运算符。例如:=、 +=、 -=、 *=、 /=、 &=、 ^=、 |=、 <<=、 >>=
第12优先级: 逗号运算符最低。例如:,(逗号)
一周热门 更多>