显然92622454< 92622451
我只是调试我的程序,寻找我得到的数字低于我发现这个数字的原因。有谁知道这里发生了什么?
测试(92622454> = 92622451)本身正确地返回true,正如您在第三行中看到的那样,两个被比较的数字都是用相同的函数计算的(打击(攻击者,防御者,aStart).profit() )使用稍微不同的输入。它不仅仅是一个视觉错误,它们是给定输入的正确数字。
对于一些上下文,此功能试图通过改变使用的攻击单位的数量来找到最大的利润(在来自游戏Astro Empires的两个舰队之间的战斗中)。在这种情况下,1180720将是正确的数字,但因为它以某种方式错误地评估此整数比较,它使用1180711单位,这给出了略微不理想的结果。
答案 0 :(得分:1)
对我来说很好看。调试器说
if (92622451 >= 92622454)
{
// Didn't get in here
}
else
{
// Did get here!
}
这是正确的行为。 if
语句中的表达式为false
。
可能是时候去喝杯咖啡了:))