为了账号安全,请及时绑定邮箱和手机立即绑定

如果改写成jq1=numa>numb||numa就会返回50是什么情况

难道不应该是true么,想知道这个判断的过程

正在回答

9 回答

上面的说错了,是||前面为真即返回真,不进行后面的运算;而前面为假,就继续后面的运算来决定 A || B 的值。关于为什么返回50,你可以看看逻辑电路原理里的正码,反码和补码。只要返回值不为零,那么就算是真

0 回复 有任何疑惑可以回复我~
2 回复 有任何疑惑可以回复我~

你有没有注意左侧教学上面的提示?说的是如果||前面的是假,则由||后面的值决定。你的代码就是这种情况,前面的值为假,则不做运算,所以等式就变成了jq1=numa。所以值是50 啊

0 回复 有任何疑惑可以回复我~

就是一个||运算嘛,不需要太纠结

0 回复 有任何疑惑可以回复我~

可能是运算何时结束的问题,jq1=numa>numb||numa,当numa>numb不成立时,此时前面判定为false,则继续向右边运算,此时相当于把numa赋值给jq1,如果把numa>numb改成numa<numb,此时为ture,此运算式则停止运算!(可能运算方式和?::这个有点一致!)但是这样想的有个问题就是||这个逻辑符号在这里它有什么作用!(表达能力有限,而且我可能想错了,如果你解决了,圈我一下,我也有点懵逼)

0 回复 有任何疑惑可以回复我~
#1

不加香菜不要葱 提问者

只能这样理解了,要不然没法理解啊,我也依旧懵逼中
2016-04-17 回复 有任何疑惑可以回复我~

逻辑值||数字  产生的了数字的值  

0 回复 有任何疑惑可以回复我~
#1

不加香菜不要葱 提问者

能不能说的更详细点呢?谢谢你
2016-04-15 回复 有任何疑惑可以回复我~

=,>,||优先级都相同,所以从左到右按顺序执行,numa>numb是false,但是numa是true,||这是或,有一个true就是true,所以显示true的结果,不进行布尔值判断

0 回复 有任何疑惑可以回复我~
#1

不加香菜不要葱 提问者

可是我这里试了下返回的是numa的值呀,怎么回事?
2016-04-15 回复 有任何疑惑可以回复我~

操作符之间的优先级(高到低):

算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号

如果同级的运算是按从左到右次序进行,多层括号由里向外。

1 回复 有任何疑惑可以回复我~
#1

不加香菜不要葱 提问者

道理我知道,只是这句您能帮我分析下么?为什么会返回50呢?谢谢啦
2016-04-15 回复 有任何疑惑可以回复我~
#2

来瓶93年的矿泉水

额 你实验的时候是50?我怎么试了下是true。。。。
2016-04-15 回复 有任何疑惑可以回复我~
#3

不加香菜不要葱 提问者 回复 来瓶93年的矿泉水

对啊,就在这个页面上试的,返回了50。。。
2016-04-15 回复 有任何疑惑可以回复我~

 =,>,||优先级都相同,所以从左到右按顺序执行,jp1就是等于numa的,所以就是50哇

0 回复 有任何疑惑可以回复我~
#1

不加香菜不要葱 提问者

运算优先级由高到低依次是比较 逻辑 赋值啊
2016-04-15 回复 有任何疑惑可以回复我~
#2

慕粉3187373 回复 不加香菜不要葱 提问者

试了一下,好像是因为numa>numb返回false,然后jp1就等于或后面的numa了。如果改成numa<numb结果就是true了
2016-04-15 回复 有任何疑惑可以回复我~
#3

不加香菜不要葱 提问者 回复 慕粉3187373

嗯哪,如果改成numa<numb,就不会去看||后面的值了,可是如果||前面为false不知道是怎么判断的
2016-04-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如果改写成jq1=numa>numb||numa就会返回50是什么情况

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信