我没搞懂下面的答案,怎么做到的循环遍历,看起来就是一次性的啊
能帮忙解释一下代码吗 我把我能理解的已经注释上去了
```c
void CountOff( int n, int m, int out[] )
{
int item=n,i,num=0,j=1;
int s[MAXN];
for(i=0;i<n;i++)
s[i]=i+1; //s数组相当于显示队列情况的标志数组
while(item)
{
for(i=0;i<n;i++) //这里我搞不懂怎么做到的循环遍历
{
if(s[i]!=0) //等于0则跳过不计数
{
num++;
if(num==m) //如果累计到次数 把标志数组s对应改0代表踢出,out数组对应位置给顺序号
{
s[i]=0;
out[i]=j;
item--;
j++;
num=0;
}
}
}
}
}
```