++b不是应该先自增再取值吗,为什么这里b为1,是短路求值的原理嘛,还有a为什么等于2啊。。

++b不是应该先自增再取值吗,为什么这里b为1,是短路求值的原理嘛,还有a为什么等于2啊。。

!(a++)运行完变成!2为假,该语句结束,++b也就不执行了

a=1,!(a++)   ==>!取反,0&& ++b ,所以后面的 ++b 就不会执行到,所以b=1, 同时这条表达式语句执行完,a++=2