指针的使用出错
唉,最近非常热情地学指针,可是用指针老是失败,郁闷。下面是我写的一个程序,题目是:有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的几号?奇怪的是我输入了东西,没有任何反应。弱弱地想起早上吃完早饭后看见的一只被压扁的死老鼠#include<stdio.h>。
int main()
{
int *p,n,i=1,d;
int a[100];
scanf("%d",&n);
for(p=a;p<a+n;p++,i++)
*p=i;
p=a;
d=n;
while(d>2)
{
for(i=1;p<a+n;p++)
{
if(*p==0) continue;
else if(i%3==0)
{
*p=0;
i++;
d--;
}
else
i++;
}
}
for(p=a;p<a+n;p++)
if(*p!=0)
printf("%d",p-a);
return 0;
}