在Python中,连续的比较运算符是允许的,但是在C语言中是编译不会报错,但是不建议这样使用。
Python代码:
>>> 5 > 3 < 4
True
>>> 6 > -3 < -1
True
- 1
- 2
- 3
- 4
在Python中这两行表达式分别代表的意思是
5 > 3 and 3 < 4
两边都是True所以最后是True
6 > -3 and -3 < -1
两边都是True所以最后是True
C语言代码:
#include<stdio.h>
int main(){
if(5 > 3 < 4){
printf("test1 correct\n");
}
if(6 > -3 < -1){
printf("test2 correct\n");
}
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
运行结果:
意思就是在C语言中5 > 3 < 4这个表达式为true,而6 > -3 < -1代表着false。
分别来看这两个例子:
- 第一个例子中,C语言里是先判断5是否大于3,结果显然是大于的,然后5>3就为true,true也就意味着是1,1小于4,表达式整体为true。
- 第二个例子中,一样是先判断6是否大于-3,结果是大于的,然后就可以把6>3等效为1,1显然是不小于-1的,所以表达式整体为false。