从0到N计数

时间:2019-11-07 14:19:13

标签: c++ loops

我有一个计数器,计数器最多可以一位数字。但它不是从0开始。 从1开始。

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

incrementCounter

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

在printCounter中

{
    cout << currCountVal << endl;
}

我希望输出应从0开始,但应从1开始。

2 个答案:

答案 0 :(得分:7)

在您的for循环中:

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

您在打印前先在之前进行递增,所以当然它将是1而不是0。

答案 1 :(得分:4)

那是因为您在打印之前之前增加了它。 currCountVal可能从0开始,然后将其递增到1,然后第一次打印。交换my_count.incrementCounter();my_count.printCounter();应该可以根据您显示的代码解决问题(尽管拥有Minimal, Reproducible Example会很好)。