表达式1||表达式2&&表达式3,当表达式1为真时,表达式23就不计算了吗?但&&不应该是优先于||么?我的结果如图,请问这是为什么?
这个写法应该被严格避免,因为在这个表达式里同时出现了a 和++a,++a是一个副作用表达式(求值的时候改变自身),因此这个表达式是C语言的语言未定义行为(Undefined Behavior),因此在不同编译器上得到的结果都可能不同。
&& 的 优先级是高于 || , 但是这里不是应该先计算(a<b)的值先吗? 前面为真,后面自然不要计算了。