用数组写的约瑟夫问题, 运行错误
请高手指点一下错误:#define N 100
main()
{int i,k,m,num[N],n;
scanf("%d",&n);
if(n>N) return 0;
for(i=0;i<n;i++)
num[i]=i+1;
k=0;
m=0;
i=0;
while(m<n-1)
{if(num[i]!=0)
k++;
if(k==3)
{ num[i]==0;
k=0;
m++;}
i=(i+1)%n;
}
i=0;
while(num[i]==0)
i++;
printf("\n%d",i);
}