请问诸位 我的这个双向链表错在哪了
请问诸位 我的这个双向链表错在哪了?谢谢!#include<stdio.h>
#include<malloc.h>
#include<string.h>
typedef struct stu
{
int num;
char name[5];
struct stu *front;
struct stu *next;
}st;
st *create()
{
char m[5];
int n;
int x,i=0;
st *p,*q,*h;
h=(st *)malloc(sizeof(st));
p=h;
printf("请输入节点数: ");
scanf("%d",&x);
while(i<x)
{
printf("please input num: ");
scanf("%d",&n);
printf("please input name: ");
scanf("%s",m);
q=(st *) malloc(sizeof(st));
p->next=q;
q->num=n;
strcpy(q->name,m);
p=q;
i++;
}
p->next=NULL;
return h;
}
void disp(st *h)
{
st *p,*q;
p=h->next;
q=h;
while(p!=NULL)
{
p->front=q;
q=p;
p=p->next;
}
q=p->front;
while(q!=h)
{
printf("[%d]->[%s]->",q->num,q->name);
q=q->front;
}
printf("head\n");
}
void main()
{
st *list;
list=create();
disp(list);
}