这个警告是什么意思(i
和 j
不是常量):
我一直在尝试谷歌这个,但它没有给我任何结果。
warning: comparison of constant 10 with boolean expression is always true [-Wtautological-constant-out-of-range-compare]
if ((0<=i<=10)&&(0<=j<=10)){
在我的程序中,
i
和 j
不是恒定值,它们确实会发生变化。
最佳答案
在 C
, 像这样链接关系运算符不是有效的设计。因此,
(0<=i<=10)
没有做你认为应该做的事情。它被评估为
((0<=i) <= 10 )
这基本上是
0 < = 10
, 生产 1
(被认为是 TRUE 值)1 < = 10
, 还生产 1
(被认为是 TRUE 值)可悲的是,这两者都比预期的路径要远。
解决方案:你需要分解你的条件检查
(0 <= i) && ( i<=10)
关于c - "Comparing constant with boolean expression is always true"警告是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30807947/