早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求解答,不知道哪里错了#include#include#includetypedefintElemType;typedefstructNode{ElemTypedata;structNode*next;}Node,*LinkList;voidDifference(LinkListLA,LinkListLB){Node*pre,*p,*q,*r;pre=LA;p=LA->next;while(p!=NULL){q

题目详情
求解答,不知道哪里错了
#include
#include
#include
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node *next;
}Node,* LinkList;
void Difference(LinkList LA,LinkList LB)
{
Node *pre,*p,*q,*r;
pre=LA;p=LA->next;
while(p!=NULL)
{
q=LB->next;
while(q!=NULL&&q->data!=p->data) q=q->next;
if(q!=NULL)
{
r=p;
pre->next=p->next;
p=p->next;
free(r);
}
else
{
pre=p;
p=p->next;
}
}
}
void CreateFromTail(LinkList H)
{
Node * r, * s;
int flag=1;
r=H;
char c;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
r->next=s;
r=s;
}
else
{
flag=0;
r->next=NULL;
}
}
}
void main()
{
LinkList LA,LB;
CreateFromTail(LA);
CreateFromTail(LB);
Difference(LA,LB);
}
运行时出错了,但不知道为什么
▼优质解答
答案和解析
LALB没有分配空间就使用了:#include #include #include typedef int ElemType;typedef struct Node{   ...