C语言中用stop,C语言中It stop with signal SIGSEGV ,segmentation fault.解决方法

  • Post author:
  • Post category:其他


C语言中It stop with signal SIGSEGV ,segmentation fault.

题目:

11060064.png

我的代码:

#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;//头插法建立目标链表