Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 比较运算符的类似数学的链接-如“if((5_C++_C_If Statement_Comparison Operators - Fatal编程技术网

C++ 比较运算符的类似数学的链接-如“if((5

C++ 比较运算符的类似数学的链接-如“if((5,c++,c,if-statement,comparison-operators,C++,C,If Statement,Comparison Operators,为什么输出是? 这个条件不是只有一半正确吗?C不懂数学语法,所以 yes 不是你所期望和想要的;应该是 if(1<j<=5) 或类似的 如其他答案所述,表达式的计算公式为 if (1 < j && j <= 5) 其中,真布尔值隐式转换为1,如explaneid,例如,参考标准,这解释了为什么真值必须小于5,尽管在C中,谈论从bool到int的隐式转换以及LR关联性可能并不完全正确 1你想写的是 如果1

为什么输出是?
这个条件不是只有一半正确吗?

C不懂数学语法,所以

yes
不是你所期望和想要的;应该是

if(1<j<=5)
或类似的

如其他答案所述,表达式的计算公式为

if (1 < j && j <= 5)
其中,真布尔值隐式转换为1,如explaneid,例如,参考标准,这解释了为什么真值必须小于5,尽管在C中,谈论从bool到int的隐式转换以及LR关联性可能并不完全正确

1你想写的是
如果1
在C中,1if (1 < j && j <= 5)
 ((1 < j) <= 5)

 =>  ("true" <= 5)

 =>  "true"
if(1)
{ 
  printf("yes")