【发布时间】:2017-07-20 12:50:40
【问题描述】:
i = 0;
if(0 <= i <= 0)
这返回 false。
我完全不明白。 Watch window 当我单独测试它们时,我还尝试将语句读取为 (0 <= i && i <= 0) 0 <= i 返回 false 而 i <= 0 返回 true。他们都应该是真的。我不确定这是否是一个精确的东西,但我不这么认为,因为我正在硬编码这些值。请帮助我理解这个基本问题。
如果它有帮助,我试图通过获取交点然后检查它是否在 x 和 y 起点和终点之间来评估一个点是否在一条线上。当我试图检查 x 或 y 何时在其轴上时,这会成为一个问题,然后您会遇到检查 0 是否在或等于 0 和 0 之间的问题。它会落在线上。
【问题讨论】:
-
因为你必须写
0 <= i && i <=0。否则,它就像(0 <= i) <= 0,即(0 <= i)首先被评估并给出true。 true 不等于 0,所以true <= 0是 false -
感谢 Garf365。我想就是这样。这比我预期的要简单得多。现在应该去睡觉了。
-
@Garf365 确切地说,关系运算符返回类型
int,值0或1。不是true。 -
@user694733 感谢您的提及,我已经在回答中指出了相同的内容。
-
@CodyCannell 不要忘记接受答案 ;)