请高手帮忙看下,循环的结束条件为什么不能 用m<n
#include<stdio.h>int main()
{ int n,i,k,m,num[50],*p;
printf("input number of person:n=");
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
{
*(p+i)=i+1;
}
i=0;
m=0;
k=0;
while(m<n-1) //这为什么不能用m<n
{if(*(p+i)!=0)
{k=k+1;}
if(k==3)
{*(p+i)=0;
k=0;
m=m+1;
}
i++;
if(i==n)
{i=0;}
}
while(*p==0)
{p++;}
printf("The last one is NO.%d\n",*p);
return 0;
}