让人很听话 2022-08-22 00:24 采纳率: 88.9%
浏览 95
已结题

if语句相关问题。刚自学到这,有点迷惑。

是不是if括号里的表达式里的范围不能写成两边夹的?这样是不是翻译不出来?
例如if(0<= x<=50)我写的它没翻译出来。
那这样的话是不是就要靠顺序来弥补了?(我看书上这样写的)就是先写出if(x<0)……再写if( x<=50)

  • 写回答

10条回答 默认 最新

  • ChangAn0-0 2022-08-22 07:30
    关注

    哈哈哈,我看别人都没有回答原因,为什么不能这样写,我来说一下原因,因为结合性的原因,也就是计算他会按顺序执行的原因,0<=x<=50计算机并不会把这个式子看作x大于零且小与50。它会把这个式子看作(0<=x)<=50或者0<=(x<=50),根据系统的原因或者编译器不同,大部分看作第二个。也就是计算机会先判断括号内的,返回真或假,然后返回值再与括号外的比较,比如我输入51,51大于50,所以为假返回0,0大于等于0,所以整个表达式为真。正确写法就是别人回答的那个哦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

问题事件

  • 系统已结题 8月30日
  • 已采纳回答 8月22日
  • 创建了问题 8月22日