对以下代码感到困惑

Confused at the following code

本文关键字:代码      更新时间:2023-10-16

所以我目前正在学习如何使用C++进行编码。我在下面发现了以下代码。

    // =======================
    // Lesson 2.4.3 - Do while
    // =======================
    #include<iostream>
    using namespace std;
    int main()
    {
        bool condition = false;
        do
        {
        cout << "Enter a 0 to quit or 1 to continue: ";
        cin >> condition;
        }
        while (condition);
    }

为什么C++自动知道0中断循环,而1继续循环?这是因为一个命令知道0=false,并且上面的任何内容都是true吗?感谢那些能够提供帮助的人。

这就是布尔逻辑的工作原理。0为假,任何非0的都为真。

变量condition的类型为bool,因此其值可以是truefalse。当它为false时,循环终止。在bool的输入和输出上,0为假,1为真。

这是因为while(0)的计算结果为false,因此终止了循环。

布尔变量可以有一个或两个条件,即true或false。0被认为是假的,除0以外的任何值都被认为是真的。所以你写的条件是(当条件=true时。

while(!0) // body opf while will execute

当条件为false时,c++将像这样解释

while(0)  // and body of do while will not execute.

因为读取输入后检查条件while (condition);

while (condition = true);

默认情况下,第一个代码设置为以上

这意味着do-while循环主体中的代码将在条件值为true时循环(1)