求助求助!c语言数据结构问题
#include<stdio.h>#include<stdlib.h>
#define size 200
typedef struct node{
int data;
struct node *next;
}List;
//创建链表
void create(List *&L,int m){
int i;
List *s,*r;
L=(List*)malloc(sizeof(List));
if(L==NULL){
printf("无法分配内存!\n");
}
s=L;
for(i=1;i<=m;i++)
{
r=(List*)malloc(sizeof(List));
if(r==NULL)
printf("无法分配内存!\n");
r->data=i;
s->next=r;
s=r;
}
r->next=L->next;
printf("成功创建队列!\n");
}
void out(List *&L,int n){
List *s,*r;
int i=0;
s=L->next;
while(s->next!=s){
i++;
if(i==n-1){
r=s->next;
s->next=s->next->next;
printf("%d\t",r->data);
i=0;//重新开始
free(r);
}
s=s->next;
}
printf("%d\t",s->data);
free(s);
free(L);
printf("成功进行出列操作!\n");
}
void main(){
int n,m;
List *L;
printf("输入创建队列的大小:\n");
scanf("%d",&m);
create(L,m);
printf("输入要输出的数是:\n");
scanf("%d",&n);
printf("输出结果:\n");
out(L,n);
getchar();
}
有错不能运行得到答案,求助啊啊啊