C语言: if (1<=x<=10) 和 if(1<=x&&x<=10) 有什么区别?

C语言中可以用 1&lt;=x&lt;=10这样的表达式吗?Pascal可以
2024-11-26 16:00:23
推荐回答(5个)
回答1:

不能这样写
1 <= x <= 10这个肯定是true
因为1 <= x 是0或者1
即(1<=x) <= 10这个肯定是成立的
if(1<=x&&x<=10)
就能判断x介于1到10了

回答2:

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。

回答3:

在C语言中,区别很大,一个是可以运行,语法正确,一个是错误用法,第一种是错误的用法,只有第二种才能通过。

回答4:

1<=x<=10
C++分解 :
{
int result = (1<=x) ;//结果为1或0;
result<= 10;;//结果为1或0;
}
整个表达式的结果为result<= 10比较的结果;与数学里面的 (1<=x)&&(x<=10)不同。

回答5:

c语言中只有第二种表达式,第一种表达式在c语言中不正确