指针定义问题
请问各位一个问题,指针定义是不是必须要放在函数开头啊?比如下面一个程序,
/*
假定有N个人,围成一圈,第一个从1开始 1 2 3 报数,报到3的退出,问最后剩下的是哪个?
*/
#include <stdio.h>
int main()
{
int nAll,nOut,count,i,array[50];
int *p=array; // 如果把这句放到 scanf语句后面,编译就不能通过了! 为什么呀?
printf("How many persons are there?\n");
scanf("%d",&nAll);
for(i=0; i<nAll; i++)
{
*(p+i)=i+1;
}
i=0;
count=0;
nOut=0;
while(nOut<nAll-1)
{
if(*(p+i) != 0)
count++;
if(3 == count)
{
*(p+i)=0;
count=0;
nOut++;
}
i++;
if(i == nAll)
i=0;
}
while(*p == 0)
{
p++;
}
printf("The last one is :No.%d\n",*p);
return 0;
}