我有一个计数器,计数器最多可以一位数字。但它不是从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开始。
答案 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会很好)。