【问题标题】:Boolean IF wont go through even when values are good即使值很好,布尔 IF 也不会通过
【发布时间】:2016-11-19 19:14:36
【问题描述】:

我是 C++ 的新手,但这很荒谬。我不明白为什么这不会通过:

在您的左侧,您可以看到 if 语句:if((p.x >= 320) == (p.x <= 400)) 在您的右侧,您可以看到值(来自调试过程)。正如您所看到的,当p.x = 360higher than 320lower from 400 时,两者都使trueboth sides 相等,程序不会通过if 语句。为什么?

【问题讨论】:

    标签: c++ arduino boolean boolean-logic


    【解决方案1】:

    我可以看到:

    Serial.print(p.x,OCT);
    

    OCT 表示八进制,这意味着您正在以八进制打印p.x。如果p.x 是八进制的 360,则表示它是十进制的 240:/

    重写调试代码 - 从两个 OCT 生成 DEC,您会看到正确的数字。

    【讨论】:

    • 看在上帝的份上!你是这里真正的英雄!失眠害了我! ://
    • 这是一个典型的错误,你可以尝试解决它很久没有成功 :D @Slay29
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    相关资源
    最近更新 更多