一种循环标志位的使用方法

例如在循环中,可能存在这种循环的写法

...
#define MAXSIZE 10

flag++;
if(flag == MAXSIZE){
    flag = 0;
    //...do something...
}
...

这个时候可以替换为

...
#define MAXSIZE 10

if(!(flag = (flag +1) % MAXSIZE)){
    //...do something...
}
...

这种写法提供了一种简化程序的思路,利弊应该也是一目了然的,请各位看官酌情采用。