优先级相同的运算符,按照结合性依次选取运算数。
比如
p++[0]().i;
由于++,[],(),.的优先级是相同的,裤迅结合性是从胡裂此左到右,故源嫌上述表达式实际上是这样的:
p++[0]().i;
(p++)[0]().i;
((p++)[0])().i;
(((p++)[0])()).i;
这样。
顺便在表达式中加括号真的是一个好习惯。
一岩灶桐般来说不粗坦熟悉的话,建议多加几个()来做,这样就不用管什么优先级了辩举
再就是不要些一些有歧义的代码
如a=b+++c
相同级别的运算符是有结合性的, 有的是左结合 有的是右结合 只有单目运算和运算且赋值 是右结合
不用去学优先级,别让自己变得混乱,直接用括号打破规则!
运算符雹袜优先级相同,埋春看结合性,是从左到源液激右的还是从右到左。