#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
void InitLinkList(LNode *L)
{
L=NULL;
}
LinkList List_TailInsert(LNode *L)
{
int x;
L=(LinkList)malloc(sizeof(LNode));
if(L==NULL)
{
printf("error!");
return 0;
}
LNode *s,*r;
scanf("%d",&x);
while(x!=9999)
{
s=(LNode *)malloc(sizeof(LNode));
s->data=x;
r->next=s;
r=s;
scanf("%d",&x);
}
r->next=NULL;
return L;
}
void ShowLinkList(LNode *L)
{
int n=0;
while(L!=NULL)
{
printf("%4dºÅ--%4d\n",n+1,L->data);
L=L->next;
n++;
}
}
int main()
{
LNode *L;
InitLinkList(L);
List_TailInsert(L);
ShowLinkList(L);
return 0;
}
头结点都没有了,链表有问题,
LinkList List_TailInsert(LNode *L)
{
int x;
L=(LinkList)malloc(sizeof(LNode));
L应该是头结点,不用用L节点重新分配内存,应该是遍历都最后再加子节点。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632