C++ 为什么循环在C++;

C++ 为什么循环在C++;,c++,C++,好的,初学者,放松点。谢谢 #include <iostream> #include <windows.h> using namespace std; int main() { int x = 0; bool while1 = true; while (while1) { cout << x << "\n"; sleep(200); if (x < 10)

好的,初学者,放松点。谢谢

#include <iostream>
#include <windows.h>

using namespace std;
int main()
{

    int x = 0;
    bool while1 = true;
    while (while1)
    {
        cout << x << "\n";
        sleep(200);
        if (x < 10)
        {
            while1 = true;
        }
        else if (x >= 10)
        {
            while1 = false;
        }
        x = x+1;
    }
    cin.get();
}
#包括
#包括
使用名称空间std;
int main()
{
int x=0;
bool while1=真;
while(while1)
{

cout程序将
x
转换为
10
,因为
x=x+1
发生在
if
之外
因此,在循环的一次执行过程中,它将进行检查,然后如果x小于10,它将使
while1
为true。否则,它将使
while1
为false。此后,无论发生什么情况,它都将增加
x

如果
为真,则重复此过程。

程序将
x
转换为
10
,因为
x=x+1
发生在
if
之外
因此,在循环的一次执行过程中,它将进行检查,然后如果x小于10,它将使
while1
为true。否则,它将使
while1
为false。此后,无论发生什么情况,它都将增加
x

如果
为真,则重复此过程。

操作顺序为:

  • 1) 如果3)发现x大于等于10(如果
    而1
    为false),则停止循环
  • 2) 打印出x
  • 3) 在此处检查x>=10,如果是,则将
    while1
    设置为false
  • 4) 增量x
当x为9时,我们按如下方式进行:

  • 不要停止循环(
    while1
    为真)
  • 打印出9
  • x尚未>=10,请将
    while1
    设置为true
  • x增加到10
  • 不要停止循环(
    while1
    为真)
  • 打印10
  • x现在>=10,将
    while1
    设置为false
  • x增加到11
  • 我们在
    时停止循环,而将1
    设置为false
所以,当x为10时,它会被打印出来。问题是,你检查和执行检查的方式,你在停止之前做了太多的一个循环

解决这个问题的一个方法是

while (x < 10)
{
    cout << x << "\n";
    Sleep(200);
    x = x+1;
}
while(x<10)
{

cout操作顺序为:

  • 1) 如果3)发现x大于等于10(如果
    而1
    为false),则停止循环
  • 2) 打印出x
  • 3) 在此处检查x>=10,如果是,则将
    while1
    设置为false
  • 4) 增量x
当x为9时,我们按如下方式进行:

  • 不要停止循环(
    while1
    为真)
  • 打印出9
  • x尚未>=10,请将
    while1
    设置为true
  • x增加到10
  • 不要停止循环(
    while1
    为真)
  • 打印10
  • x现在>=10,将
    while1
    设置为false
  • x增加到11
  • 我们在
    时停止循环,而将1
    设置为false
所以,当x为10时,它会被打印出来。问题是,你检查和执行检查的方式,你在停止之前做了太多的一个循环

解决这个问题的一个方法是

while (x < 10)
{
    cout << x << "\n";
    Sleep(200);
    x = x+1;
}
while(x<10)
{
库特
我的理解是:为什么x等于10?这是正确的吗

当将while1设置为false时,while循环不会立即退出。因此,当然,退出循环后,x将等于10,因为在检查之后,x将增加,因此,在这个代码段之后,x实际上将是11

我的理解是:为什么x等于10?这是正确的吗


当将while1设置为false时,while循环不会立即退出。因此,当然,退出循环后,x将等于10,因为在检查该值后,x将增加,因此,在该代码段后,x实际上将为11。

如果不希望在x>=10之后打印x,请在增加x之后进行检查

#include <iostream>
#include <windows.h>

using namespace std;
int main(
{
    int x = 0;
    bool while1 = true;
    while (while1)
    {
        cout << x << "\n"
        x++;
        Sleep(200);
        if (x < 10)
        {
            while1 = true;
        }
        else if (x >= 10)
        {
            while1 = false;
        }
    }
    cin.get();
}
#包括
#包括
使用名称空间std;
int main(
{
int x=0;
bool while1=真;
while(while1)
{

cout如果不希望在x>=10之后打印x,请在递增x之后执行检查

#include <iostream>
#include <windows.h>

using namespace std;
int main(
{
    int x = 0;
    bool while1 = true;
    while (while1)
    {
        cout << x << "\n"
        x++;
        Sleep(200);
        if (x < 10)
        {
            while1 = true;
        }
        else if (x >= 10)
        {
            while1 = false;
        }
    }
    cin.get();
}
#包括
#包括
使用名称空间std;
int main(
{
int x=0;
bool while1=真;
while(while1)
{

cout如果循环中的x>=10,则当while循环中的x>=10时,循环将再次迭代一次。如果循环中的x>=10,则当while循环中的x>=10时,循环将再次迭代一次。您正在做的是:

  • 要求程序打印x的值
  • 检查x是否小于10
  • 如果是,则将while1设置为true。否则将while1设置为false
  • 将x的值增加1(无论while1是真是假)
    • 在第10个循环开始时,x=9
    • 打印出9
    • 因为x仍然小于10,而1仍然为真
    • 在第10个循环结束时,x=10,while1=true
    您的程序启动另一个循环,因为while1=true

    • 在第11个循环的开始处,x=10
    • 打印出10张
    • 由于x现在等于10,而while1设置为false
    • 在第11个循环的末尾,x=11,while1=false
    最好的办法就是

    int x = 0;
    while(x < 10)
    {
       cout << x << endl;      //this way your program will only print 0 to 9
       sleep(200);
       x++;                    //this is the same as x = x+1
    }
    
    break;将允许您在x>=10时中断while循环,而不增加x或再次通过循环

    应该是安全的,除非你打算在while循环中做更多的事情…

    你正在做的是:

  • 要求程序打印x的值
  • 检查x是否小于10
  • 如果是,则将while1设置为true。否则将while1设置为false
  • 将x的值增加1(无论while1是真是假)
    • 在第10个循环开始时,x=9
    • 打印出9
    • 因为x仍然小于10,而1仍然为真
    • 在第10个循环结束时,x=10,while1=true
    您的程序启动另一个循环,因为while1=true

    • 在第11个循环的开始处,x=10
    • 打印出10张
    • 由于x现在等于10,而while1设置为false
    • 在第11个循环的末尾,x=11,while1=false
    最好的办法就是

    int x = 0;
    while(x < 10)
    {
       cout << x << endl;      //this way your program will only print 0 to 9
       sleep(200);
       x++;                    //this is the same as x = x+1
    }
    
    b