为什么循环打印到11而不是10?

时间:2019-01-18 11:52:06

标签: c++ loops

我在C ++中有一个简单的程序,可以查看continue语句的用法。我正在运行从1到10的循环,跳过5,但是直到我认为这是错误条件的11为止。我在哪里弄错了?我要跳过5来打印1到10。

\\
#include<iostream>
using namespace std;

int main()
{
int i=1;

while(i<=10)
{
    i++;
    if(i==5)
    {
        continue;
    }
    cout<<i<<endl;
\\


}
}

2 个答案:

答案 0 :(得分:2)

原因是您放置了增量运算符

 i++;

进入循环迭代之后。

因此,当循环以i = 10开始时,它首先出现在i ++上,并显示i

使用此代码

#include<iostream>
using namespace std;

int main()
{
int i=1;

while(i<=10)
{
    if(i!=5)
    {
    cout<<i<<endl;
    }
    i++;

}
}

希望有帮助

答案 1 :(得分:-1)

您在这里所做的是在打印变量“ i”之前将其递增。正确的代码应类似于

#include<iostream>
using namespace std;

int main()
{
    int i=1;
    while(i<=10){
        if(i==5){
            i++;
            continue;
        }
        cout<<i<<endl;
        //incrementing variable after printing
        i++;
    }
}
//output
//1234678910

您的代码必须提供如下输出
23467891011