####问题发生背景:数据结构中两个单链表合并失败
####错误信息:LinkList pa=LA->next;
#define MAXSIZE 12
#define OVERFLOW -2
#define OK 1
#define ERROR 0
typedef int Status;
typedef struct
{
int example;
}ElemType;
typedef struct LNode
{
struct LNode *next;
ElemType data;
}LNode,*LinkList;
int main()
{
void CreateList_R(LinkList L,int n);
void MergeList_L(LinkList LA,LinkList LB,LinkList LC);
LinkList LA,LB,LC;
printf("请输入集合A中元素:\n");
CreateList_R(LA,2);
printf("请输入集合B中元素:\n");
CreateList_R(LB,3);
MergeList_L(LA,LB,LC);
LinkList p=LC->next;
printf("%d",p->data);
}
void MergeList_L(LinkList LA,LinkList LB,LinkList LC)
{
LinkList pa=LA->next;
LinkList pb=LB->next;
LC=LA;
LinkList pc=LC;
while(pa&&pb)
{
if((pa->data).example<=(pb->data).example)
{
pc->next=pa;
pc=pa;
pa=pa->next;
}
else
{
pc->next=pb;
pc=pb;
pb=pb->next;
}
}
pc->next=pa?pb:pb;
free(LB);
}
void CreateList_R(LinkList L,int n)
{
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
LinkList r=L;
int i;
for(i=0;i<n;i++)
{
LinkList s=(LinkList)malloc(sizeof(LNode));
scanf("%d",&(s->data));
s->next=NULL;
r->next=s;
r=s;
}
}
```c
####详细报错:Program recevied signal SIGSEGV.Segementation fault;。
####尝试方法:通过调试得到报错语句后上网查阅报错信息。但无法理解指针为什么不能被赋值给已经开辟的空间。
###希望各位掌握相关知识的友友不吝赐教