c语言单链表尾插法编译通过运行终止,这个写法哪里有问题

#include"stdio.h"#include"stdlib.h"#include"string.h"typedefstructLNode{//链表的结构charda... #include"stdio.h"
#include"stdlib.h"
#include"string.h"

typedef struct LNode{ //链表的结构
char data;
struct LNode* next;
}LNode,*LinkList;

LinkList init_linklist(LinkList L){ //初始化链表
L=(LinkList)malloc(sizeof(LinkList));
L->next=NULL;
return L;
}
void DestroyList(LinkList L){ //销毁链表操作
LinkList p=L,q=p->next;
while(q!=NULL){
free(p);
p=q,q=p->next;
}
free(p);
}
void CreatFromTail(LinkList L){ //尾插法建立单链表
//LNode *r,*s;
LinkList r,s;
char c;
int flag=1;
r=L;
while(flag){
c=getchar()
if(c!='$'){
s=(LinkList)malloc(sizeof(LNode));
s->data=c;
r->next=s;
r=s;
}
else{
flag=0;
r->next=NULL;
}
}
}
void CreatFromHead(LinkList L){ //头插法建立单链表
LNode *r,*s;
char c;
int flag=1;
while(flag){
c=getchar();
if(c!='$'){
s=(LNode*)malloc(sizeof(LNode));
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}

int LENGTH(LinkList L){ //单链表长度
int i=0;
LinkList p=L;
while(p->next!=NULL){
i++;
p=p->next;
}
return i;
}

int main(){
LinkList L;
init_linklist(L);
printf("初始化成功\n");
CreatFromTail(L);
printf("建立成功\n");
printf("长度为%d\n",LENGTH(L));
}
调试的时候在 尾插法建立单链表时运行出错
展开
 我来答
百度网友711eabb
2017-10-08 · TA获得超过709个赞
知道小有建树答主
回答量:727
采纳率:83%
帮助的人:322万
展开全部
尾部插入,那么第一步要做的是遍历链表到结尾,然后创建节点插入;你的代码中没有看到遍历的过程,不知道从哪插呢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式