||不是短路运算符么?为什么右侧还会执行呐?

||不是短路运算符么?为什么右侧还会执行呐?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕酷酷 2019-09-05 10:08:49

同学你好,||运算符也是短路运算符,只有运算符左边表达式的值为true,则直接返回结果true,可以决定最终结果,运算符右边的表达式就不会被执行。如果左面的表达式为false,是无法决定整个表达式最终值,所以还需要判断右侧的值。

例如:题目中,左边的表达式为false是无法决定最终结果的,还需要计算右面m<k++的结果。

http://img1.sycdn.imooc.com//climg/5d706d310001a26103510180.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

慕仙500585 2019-09-04 22:07:41

同学你好,b=(3<7)||((n++)<2)表达式 首先3<7为true,逻辑或(||)右边表达式没有计算 得b=true,n=3

如果逻辑或(||)右边表达式计算 则b=true,n=4

  • 提问者 慕前端1323533 #1
    我上面的截图是为了验证4-6练习题的答案,不是不理解
    2019-09-04 22:19:05
  • 慕仙500585 回复 提问者 慕前端1323533 #2
    逻辑或(||)两个表达式同时为false时结果为false 4-6: !(9>8)为false并不能断定是true,6<k++还需要算
    2019-09-04 22:35:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师