C语言中It stop with signal SIGSEGV ,segmentation fault.
题目:
我的代码:
#include
#include
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
LinkList create(LinkList L,int n);
LinkList reverse(LinkList L);
LinkList Add(LinkList P,LinkList Q);
int main()
{
LinkList P=NULL,Q=NULL,R=NULL;
Q=create(Q,3);
P=create(P,4);
R=Add(P,Q);
while(R){
printf(“%d “,R->data);
R=R->next;
}
printf(“\n”);
return 0;
}
LinkList create(LinkList L,int n){//尾插法建立长度为n的链表L
LinkList r,tail=NULL;
int i;
printf(“请输入链表数据%c:”,(n==3?’Q’:’P’));
for(i=0;i
r=(LinkList)malloc(sizeof(LNode));
scanf(“%d”,&r->data);
r->next=NULL;
if(!L){
L=r;
tail=r;
}
else{
tail->next=r;
tail=r;
}
}
}
LinkList reverse(LinkList L){//链表逆置函数
LinkList p,q,r;
p=L;
q=NULL;
while(p){
r=p;
p=p->next;
r->next=q;
q=r;
}
L=q;
return L;
}
LinkList Add(LinkList P,LinkList Q){
LinkList m,n,r,head=NULL;//头插法建立目标链表