if里面的表达式,无论加不加括号,|| 左边的a++ 已经注定if条件是满足的。
这是逻辑运算符,在if 条件中是从左往右执行的,所以永远不会执行b++
逻辑运算符没有优先级?
@蓝海人:
已经修改。
a++ || b++ && c++ 的确是 && 优先级高于 || 所以 b++ && c++是优先于 a++ || c++的
也就是相当于你后面加了括号。
但是优先级不是if语句中的 执行顺序
在if条件中,是从左到右依次执行。
优先级真正作用仅用于确定运算符和哪些子表达式结合 而已
你这个if 里面是要写表达式 你写个a++ 怎么判断?
a++ 和 a!=0;a++;是一个意思
a||b&&c
根据优先级相当于先算 b && c ,然后和a 相 或;如果a是true,则返回a,不论是b或c,如果a是false,则如果b是false,返回b,如果b是true,返回c;
你现在的情况就属于a为true的情况。