30秒到达战场
C不了解类似数学的语法,因此if(1<j<=5)没有按照您的期望和要求进行解释;它应该是if (1 < j && j <= 5)或类似。如其他答案所述,该表达式的计算方式为 ((1 < j) <= 5) => ("true" <= 5) => "true"其中“ true”(布尔值)被隐式转换为1,例如explaneid,例如这里,也参考了标准,这解释了为什么“ true”必须“小于” 5(尽管在C中可能并不完全正确)说“从bool到int的隐式转换”)