这个插入函数有什么问题,为什么插入不了数字?
void insert(stud *h){
stud *p,*q,*d;
p=h;
int n,k;
q=h->link;
printf("请输入插入位置的前一个数!");
scanf("%d",&n);
if(n==p->num)
{
printf("请输入要插入的数 !");
scanf("%d",&d->num);
d=h;
p=d->link;
}
else if
(n==q->num)
{
printf("请输入要插入的数 !");
scanf("%d",&d->num);
d->link=p->link;
p->link=d;
}
else if(n!=p->num&&n!=q->num)
{
while(q->num!=NULL&&p->num!=NULL)
{
p=p->link;
q=q->link;
if(n==q->num)
printf("请输入要插入的数字!");
scanf("%d",&d->num);
p->link=d->link;
p->link=d;
}
}
}