关系运算符中||与&&的运算

一:&&的运算 

&&中左式子为假,右式子不执行。

关系表达式的值是一个逻辑值,即“真”或“假”。因为m=a>b等价于m=(a>b)。而a<b,所以m的值为0。又因为&&中左边的式子为0,右边的式子不执行,所以n仍然=2。

二:||的运算

||中,若左式子为真,右边不用执行。

举一个栗子:

因为if((j++||k++)&&i++)中是两个逻辑运算,逻辑运算的执行是只要能判断其真假就行了,不一定要全部执行到,对于第一个逻辑运算&&,(两者都为真才为真,或其中一个表达式为假就为假)首先判断&&左端的表示式,若其为假则无需判断其右的表达式,若其为真则两边表达式都需判断,而&&左面表达式为真,所以&&右面表达式还需判断,所以i++是执行过的,再看(j++||k++),逻辑运算||,两端表达式其一为真就为真,两者为假才为假,由于||左表达式是真所以无需再判断其或的表达式,所以k++不执行,j++执行了。所以最终答案i=j=k=2

举两个栗子:

因为&&的优先级高于||,所以式子可以变形为w=++x||(++y&&++z)。因为++y为真,所以++z可执行。所以y=2,z=2。又因为++x为真,在||的左侧,所以右边的式子不用执行。仍然为原数。所以y=1,z=1,x=2。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值