在不再满足条件后,while 循环是否停止验证?

Do while loops stop verifying after condition isn't met anymore?

本文关键字:是否 验证 循环 while 满足 不再 条件      更新时间:2023-10-16

我最近开始学习 c++,我对我到达的最后一部分有一个问题,while 循环一。在此代码中:

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int i = 0;
    while (i <= 5) {
        cout << "Hello" << endl;
        i = i + 1;
    }
    return 0;
}

while 命令会在值超过 5 后继续检查 I 是否<=5 还是会停止?如果我正在制作一个程序并将 i 的值更改为满足循环条件的值,它会再次启动还是必须再次重写循环代码?

提前感谢您的回答!

编辑:感谢您的回答和评论。我尝试将我的想法放入代码中,我注意到在循环后更改 i 的值并没有使其再次启动(这意味着在我超过 5 后它已经停止检查(。我意识到这是一个愚蠢的问题,我本可以通过尝试将其放入代码中来简单地解决,但我仍然要求答案以确保。再次感谢!

如果在循环结束后将 i 更改为 0,如下所示:

int main()
{
    int i = 0;
    while (i <= 5) {
        cout << "Hello" << endl;
        i = i + 1;
    }
    i=0;
    return 0;
}

循环不会再次启动,因为它只会将 i 设置为 0,然后返回 0。循环执行后,它将不会再次运行。

请注意,C++按顺序执行代码,这意味着它遍历每一行,执行它,然后转到下一行。这会使循环感到困惑,因为您会看到以前的代码再次被执行;因此,要解决这个困境,将循环段视为一个块,一旦这个块执行,正常的顺序执行就会继续。

供将来参考:C++有一个漂亮的功能,称为多线程,您可以在其中允许多个代码以并行方式执行。您将在将来的某个时候遇到此功能。