不能这样写
1 <= x <= 10这个肯定是true
因为1 <= x 是0或者1
即(1<=x) <= 10这个肯定是成立的
if(1<=x&&x<=10)
就能判断x介于1到10了
1<=x<=10 等价于 (1<=x) <= 10
(1<=x)是比较,结果是真(一般为1)或0, 无论是1还是0 都<=10, 所以这个表达式的结果为真。
而1<=x && x <= 10 等价于(1<=x) && (x <=10) x 在[1,10]范围内,表达式为真,否则为0。
在C语言中,区别很大,一个是可以运行,语法正确,一个是错误用法,第一种是错误的用法,只有第二种才能通过。
1<=x<=10
C++分解 :
{
int result = (1<=x) ;//结果为1或0;
result<= 10;;//结果为1或0;
}
整个表达式的结果为result<= 10比较的结果;与数学里面的 (1<=x)&&(x<=10)不同。
c语言中只有第二种表达式,第一种表达式在c语言中不正确