if (b!=2||c--!= 3)
为什么不是先做c--,按照优先级--大于逻辑或呀,不应该先c--,然后再进行短路运算嘛。
你说的运算符优先级关系是正确的,但是你需要考虑--的运算,--c和c--是不一样的,c--是先使用c的值,使用完成之后才做--;--c则反之。
按照优先级if (b!=2||c--!= 3)等同于if (b!=2||(c--)!= 3),按照--运算符的定义,(c--)!=3等价于 c!=3;c--;。执行(c--)!= 3先执行c--就是先取c的值和不等3进行判断,然后再进行c--。
运算符都是从左往右依次执行的
是谁告诉你c--大于逻辑或的
如果是++c,那么它的优先级最高,最先执行
如果是c++,那么它的优先级比赋值运算符还要低
你得弄清c--跟--c的区别