1||0&&0——因为&&的
优先级比||高,所以1||0&&0等效为1||(0&&0),由于1已经为真,确定了整个
表达式的值为1,所以||右边没有必要计算了(俗称‘短路’了)。
0&&1||1——同样因为&&的优先级比||高,所以0&&1||1被等效为(0&&1)||1,由于()中的结果是假,后面又是||,所以整个表达式的值并没有确定(||两边任意一边为1则为1),所以还要计算||右边的表达式。
这个所谓“短路”问题使很多初学者纠结。不能硬背啊,要看分表达式能否确定整个表达式的值,能确定就被“短路”了,否则就不能被短路。比如把0&&1||1这个表达改成1&&1||1,由于1&&1已经为真,||右边是真是假都左右不了整个表达式为1的事实了,所以表达式就被||“短路”了。