c++ - if 的感觉——这怎么可能起作用

标签 c++ if-statement boolean boolean-logic boolean-operations

我正在观看 Mojam(现场游戏编程,在 HumbleBundle 上),我在那里看到了这段代码 (here 是代码截图) 我想知道最后一个 if 语句(即 !wasmoving && ismoving)中的条件表达式如何计算为真(确实如此,程序员编译它并且动画正在运行)。 我已经在我的编译器中试过了

#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
    bool ismoving=5>0;
    bool wasmoving=ismoving;
    cout << "ismoving"<< ismoving << " oraz wasmoving " << wasmoving << endl;
    if (!wasmoving && ismoving) cout << "1st = true 2nd = true" << endl;
    system("PAUSE");
    return 0;
}

当然,如果最后一个 if 采用错误路径,则什么也不会发生。 谁能解释截图中的代码是如何工作的?

最佳答案

请注意,在屏幕截图中,ismoving 变量被复制到 wasmoving 后更新,因此该值很可能在评估条件时,ismoving 的值不同于 wasmoving 的值。

关于c++ - if 的感觉——这怎么可能起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15024791/

相关文章:

c++ - 使用 CodeBlocks 将 GLEW 链接到 SFML 项目时出现问题

python - Python代码在 “if self.hp < 0”行返回语法错误

c If 或 elseif boolean 值

c++ - typedef 如何用于函数指针

c++ - CMakeList 设置 CMAKE_PREFIX_PATH

function - 运算符 '!=' 的使用不明确?

bash - 比使用多个 elif 语句更好的方法

powershell - Powershell等同于Linux true命令

java - 我可以将测试结果分配给 Java 中的 boolean 变量吗?

c++ - 在 C++ 中将子 vector 作为函数参数传递