почему цикл печати до 11 вместо 10? - PullRequest
0 голосов
/ 18 января 2019

У меня есть эта простая программа на C ++, чтобы увидеть использование оператора continue. Я выполняю цикл от 1 до 10, пропуская 5, но этот отпечаток до 11, который, я думаю, является ложным условием. где я ошибаюсь? я хочу напечатать от 1 до 10 пропуская 5.

\\
#include<iostream>
using namespace std;

int main()
{
int i=1;

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


}
}

Ответы [ 2 ]

0 голосов
/ 18 января 2019

что вы здесь делаете, это увеличиваете переменную "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

0 голосов
/ 18 января 2019

Причина в том, что вы поместили оператор приращения

 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++;

}
}

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...