if 条件判断
if(0<x<5) 为什么和x的值无关,它是怎么判断的和if(x>0&&x<5)的区别是什么 本帖最后由 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++ 写法。 0<x<5 先判断0<x 为 1 或 0
再 0<5或 1<5 结果都为1 本帖最后由 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(假) 甲鱼的课有一节讲了这个,0<x<5,会先判断0和x的大小,然后返回一个0或1.然后再判断0或1<5必定为真
页:
[1]