这个动态链表的销毁问题出在在哪里?
#include <stdio.h>#include <stdlib.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*Linklist;
void initial(Linklist L)
{
Linklist p;
p=(Linklist)malloc(sizeof(LNode));
if(!p) exit(0);
L=p;
L->next=NULL;
}
void creatlist(Linklist L)
{
Linklist p,q;
int m;
q=L;
printf("请输入若干个正整数,输入非正整数时结束:\n");
while(1)
{
scanf("%d",&m);
if(m>0)
{
p=(Linklist)malloc(sizeof(LNode));
p->data=m;
q->next=p;
q=p;
}
else break;
}
p->next=NULL;
}
void displaylist(Linklist L)
{
Linklist p=L;
for(p=L->next;p!=NULL;p=p->next)
printf("%d ",p->data);
printf("\n");
}
void destory(Linklist L)
{
Linklist temp;
temp=L;
while(temp!=NULL)
{
free(temp);
temp=temp->next;
}
}
void main()
{
LNode A;
initial(&A);
creatlist(&A);
printf("输出单向链表A的元素:\n");
displaylist(&A);
destory(&A);
}
帮忙看看我的destory()函数问题在哪里?