若a=2,b=3,c=-1,d=5;下面表达式的值为______? a+b>c+d&&a>=c+d||!c>0||d<0
3个回答
展开全部
a+b>c+d&&a>=c+d||!c>0||d<0
=〉〉
按照运算符优先级 先算’!‘ !c=>!-1 非0即真 因为加了! 所以是false
a+b>c+d&&a>=c+d||fasle>0||d<0
再算加法
=>>
5>4&&2>=4||fasle>0||5<0
再算比较符
true&&false||fasle||fasle
所以结果为
false
=〉〉
按照运算符优先级 先算’!‘ !c=>!-1 非0即真 因为加了! 所以是false
a+b>c+d&&a>=c+d||fasle>0||d<0
再算加法
=>>
5>4&&2>=4||fasle>0||5<0
再算比较符
true&&false||fasle||fasle
所以结果为
false
追问
和我想的一样呀,不过网上他们都说!c>0为1,所以我就搞糊涂了
追答
我这个在JavaScript里面的逻辑 运算符 优先级都一样 不过 false>0 这个有点怪
展开全部
a+b>c+d 结果为true
a>=c+d 结果为false
!c>0 结果为true
d<0 结果为false
整个表达式转化为true && false || true ||false
&&优先级比||高,且都为左结合
于是先计算true && false,结果为false,表达式转化为false||true||false,||左结合,得到结果为true
a>=c+d 结果为false
!c>0 结果为true
d<0 结果为false
整个表达式转化为true && false || true ||false
&&优先级比||高,且都为左结合
于是先计算true && false,结果为false,表达式转化为false||true||false,||左结合,得到结果为true
追问
逻辑运算符!的优先级别不是大于算术运算符>么,为什么!c>0不是为0,我变了一个程序,好像是为零
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a+b为5 c+d为4 5>4值为1 c+d为4 a>=4错的 值为0 1&&0为0 c>0为错为0 !0为1 0||1为1 d<0为0 1||0为1 答案是1
追问
逻辑运算符!的优先级别不是大于算术运算符>么,为什么!c>0不是为0,我变了一个程序,好像是为零
追答
36346351
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询