[求助]为什么运行不了,编译没问题的
就是想实现5个人围成一圈,顺序编号。从第1个人开始报数(从1到3报数),凡报道3的人退出圈子,问最后留下的是原来第几号的那位?#include<stdio.h>
#define NULL 0
struct line{
int num;
struct line *next;
};
void main(){
int i,j;
struct line *p[5],*q,*w;
for(i=0;i<4;i++){
p[i]->num=i+1;
p[i]->next=p[i+1];
}
p[4]->num=5;
p[4]->next=p[0];
j=1;
w=p[0];
while(w->next!=w){
if(j!=3){
q=w;
w=w->next;
j++;
}
else{
q->next=w->next;
w=NULL;
w=q->next;
j=1;
}
}
printf("%d\n",w->num);
}