求助大佬

蓦~ 2020-02-01 06:30:12
代码可以运行,但输入完一条链表的值时,按回车无反应,想知道哪儿出错以及如何修改,代码如下
#include<stdlib.h>
#include <stdio.h>
typedef int Datatype;
typedef struct Node
{ Datatype data;
struct Node *next;
}Node,*LinkList;
//创建单链表
LinkList creat()
{ LinkList L;
Node *p,*r;
L=(LinkList)malloc(sizeof(Node));
L->next =NULL;
r=L;
int x;
scanf("%d",&x);
while(x!='\n')
{p=(Node*)malloc(sizeof(Node));
p->data =x;
r->next=p;
r=p;
scanf("%d",&x);
}
r->next =NULL;
return L;
}
//合并单链表
LinkList comber(LinkList La,LinkList Lb)
{ LinkList Lc;
Node *pa,*pb,*r;
Lc=La;
pa=La->next;
pb=Lb->next;
Lc->next=NULL;
r=Lc;
while(pa&&pb)
{ if(pa->data<=pb->data)
{r->next=pa;r=pa;pa=pa->next;}
else
{r->next=pb;r=pb;pb=pb->next;}
}
if(pa) r->next=pa;
else r->next=pb;
free(Lb);
return Lc;
}
//输入链表
void printL(LinkList L)
{ Node *r;
r=L;
r=r->next;
while(r->next!=NULL)
{printf("%d ",r->data);
r=r->next;
}
printf("\n");
}
//主函数
void main()
{ printf("请输入第一条链表:");
LinkList A=creat();
printf("请输入第二条链表:");
LinkList B=creat();
LinkList C=comber(A,B);
printL(C);
}

...全文
20 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧