我正在修改C并正在制作一些测试程序.在一个程序中,我正在检查一个正在翻译这种情况的条件.
#include <stdio.h>
int main()
{
if(0 <= 3000.000000 <= 2000.00){ //this is the condition
printf("3000 is less than 2000, whoa.. \n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出始终是此打印字符串.我不明白为什么.
PS
我正在测试中间值,即3000.000000,但它可以是一些变量.
条件解析如下:
if((0 <= 3000.000000) <= 2000.00){
Run Code Online (Sandbox Code Playgroud)
第一部分(0 <= 3000.000000)是真实的,并1在与之比较时进行评估2000.00.而且1 <= 2000.00是真实的.
如果你试图测试一个值是否a介于两个值之间b,c或者是否等于两个值,那么你需要一个表达式.
(a >= b) && (a <= c)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |