Считая от 0 до N - PullRequest
       7

Считая от 0 до N

0 голосов
/ 07 ноября 2019

У меня есть счетчик, который до цифры. но он не начинается с 0. Он начинается с 1.

for(int i = 0; i <31; i++ )
{
     my_count.incrementCounter();
     my_count.printCounter();
}

In incrementCounter

if (currCountVal < maxCountVal - 1)
{
    currCountVal++;
    overFlow = false;
}
else
{
    overFlow = true;
    currCountVal = 0;
}

In printCounter

{
    cout << currCountVal << endl;
}

Я ожидаю, что вывод долженначать с 0, но оно начинается с 1.

Ответы [ 2 ]

7 голосов
/ 07 ноября 2019

В вашем цикле for:

 my_count.incrementCounter();
 my_count.printCounter();

вы увеличиваете до печати, поэтому, конечно, это будет 1 вместо 0.

4 голосов
/ 07 ноября 2019

Это потому, что вы увеличиваете его до печати. currCountVal предположительно начинается с 0, затем вы увеличиваете его до 1, а затем печатаете в первый раз. Замена my_count.incrementCounter(); и my_count.printCounter(); должна решить проблему на основе кода, который вы показали (хотя было бы хорошо иметь Минимальный воспроизводимый пример ).

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