我有如下代码:
#include <stdio.h>
#include <stdlib.h>
static counter = 0;
static flag = 0;
int main()
{
int number = 3;
int i = 0;
for(i; i< number; i++)
{
if(counter >= number)
{
counter = 0;
flag = 1;
}
counter ++;
printf(" counter = %u\n", counter);
printf(" flag = %u\n", flag);
}
return 0;
}
每次当计数器达到3时,标志应该是1,但为什么当计数器达到3时,标志仍然是0?
i
永远不会达到3
。请尝试使用i <= number
。 - Sakthi Kumarcounter++
放在for
的旁边,也就是在if
之前。 - Sakthi Kumar