Aseeker 发表于 2019-11-3 11:41:16

if 条件判断

if(0<x<5) 为什么和x的值无关,它是怎么判断的
和if(x>0&&x<5)的区别是什么

jackz007 发表于 2019-11-3 12:37:29

本帖最后由 jackz007 于 2019-11-3 12:45 编辑

      if(0 < x < 5) 之所以和 x 的数值无关,是因为这不是规范的 C/C++ 写法,应该写成 if (x > 0 && x < 5) 才对。

      if(0 < x < 5) 和 if(x > 0 && x < 5)语法逻辑是一样的,只不过前者是 Python 3 的写法,C/C++ 不识别这种写法,后者才是规范的 C/C++ 写法。

非黑莫白 发表于 2019-11-4 18:08:51

0<x<5   先判断0<x 为 1 或 0
再 0<5或 1<5 结果都为1

huanzhilian 发表于 2019-11-4 21:30:13

本帖最后由 huanzhilian 于 2019-11-4 21:38 编辑

先判断x是否大于0:若大于0,则为1(真)
                           若不大于0,则为0(假)
因为1和0都小于5,所以后面1<5和0<5的结果都为1(真)
由此可见,if(0<x<5)这个判断语句无论x的值是多少,判断结果都为真。
而if(x>0&&x<5)这个判断语句,x>0和x>5都为1(真),结果才为1(真),否则为0(假)

召唤师 发表于 2020-4-3 09:17:31

甲鱼的课有一节讲了这个,0<x<5,会先判断0和x的大小,然后返回一个0或1.然后再判断0或1<5必定为真
页: [1]
查看完整版本: if 条件判断