user-0 提问: 这是哪错了？错误提示program received signal sigsegv segmentation fault

回复:
user: user-0
content: 引用 6 楼 自信男孩的回复:[quote=引用 4 楼 weixin_46695826 的回复:] [quote=引用 3 楼 weixin_46221273 的回复:] [quote=引用 2 楼 weixin_46695826的回复:]这应该是对比两个单链表，找出其相同元素存入一维数组中。 那么，链表中存储的数据类型是否为int，这段代码中无法看出。 是否应该加一行：typedef int slink; 是的呀 typedef int ElemType; typedef struct node{ 	ElemType data;     struct node *next; }slink;[/quote]  #include <stdio.h>   //如果头文件没有问题的话，那可能是编译器的问题，我这里运行没有error提示 [/quote] 链表创建呢？没有创建直接用链表怎么可以呢？[/quote] #include<stdio.h>typedef int ElemType;typedef struct node{	ElemType data;    struct node *next;}slink;slink* crelink1(int n){	slink *p,*head,*s;	int i;	p=head=(slink*)malloc(sizeof(slink));	for(i=1;i<=n;i++){		s=(slink*)malloc(sizeof(slink));		p->next=s;		scanf("%d",&s->data);		p=s;	}	p->next=NULL;	return head;	}slink* crelink2(int n){	slink *p,*head,*s;	int i,a[10];	p=head=(slink*)malloc(sizeof(slink));	for(i=0;i<n;i++){		s=(slink*)malloc(sizeof(slink));		p->next=s;		a[i]=p->data;		p=s;	}	p->next=NULL;	return head;	} void list(slink *head){	slink *p;	p=head->next;	printf("The list is ");	while(p!=NULL){		printf("%d\t",p->data);			p=p->next;	}}int change1(slink *head1,slink *head2){		slink *p,*q;		int a[10],j=0,m,n,t;		for(p=head1->next;p!=NULL;p=p->next){		for(q=head2->next;q!=NULL;q=q->next)			if(p->data<=q->data){				a[j]=p->data;				j++;			}	}		for(m=0;m<j;m++){		for(n=1;n<=j;n++){			if(a[n]>a[m]){				a[n]=t;				t=a[m];				a[m]=t;			}		}	}	return j;	}main(){    slink *SL1,*SL2,*SL3;	int i,j;	printf("Input slink1 number:");	scanf("%d",&i);	SL1=crelink1(i);    list(SL1);    printf("\nInput slink2 number:");	scanf("%d",&j);	SL2=crelink1(j);    list(SL2);    printf("\n处理后为："); 	SL3=crelink2(change1(&SL1,&SL2));    list(SL3);}

user: user-1
content: 引用 4 楼 weixin_46695826 的回复:[quote=引用 3 楼 weixin_46221273 的回复:] [quote=引用 2 楼 weixin_46695826的回复:]这应该是对比两个单链表，找出其相同元素存入一维数组中。 那么，链表中存储的数据类型是否为int，这段代码中无法看出。 是否应该加一行：typedef int slink; 是的呀 typedef int ElemType; typedef struct node{ 	ElemType data;     struct node *next; }slink;[/quote]  #include <stdio.h>   //如果头文件没有问题的话，那可能是编译器的问题，我这里运行没有error提示 [/quote] 链表创建呢？没有创建直接用链表怎么可以呢？

user: user-0
content: 引用 4 楼 weixin_46695826的回复:[quote=引用 3 楼 weixin_46221273 的回复:] [quote=引用 2 楼 weixin_46695826的回复:]这应该是对比两个单链表，找出其相同元素存入一维数组中。 那么，链表中存储的数据类型是否为int，这段代码中无法看出。 是否应该加一行：typedef int slink; 是的呀 typedef int ElemType; typedef struct node{ 	ElemType data;     struct node *next; }slink;[/quote]  #include <stdio.h>   //如果头文件没有问题的话，那可能是编译器的问题，我这里运行没有error提示 [/quote] 我的文件拓展名是. c不是. cpp

user: user-2
content: 引用 3 楼 weixin_46221273 的回复:[quote=引用 2 楼 weixin_46695826的回复:]这应该是对比两个单链表，找出其相同元素存入一维数组中。 那么，链表中存储的数据类型是否为int，这段代码中无法看出。 是否应该加一行：typedef int slink; 是的呀 typedef int ElemType; typedef struct node{ 	ElemType data;     struct node *next; }slink;[/quote]  #include <stdio.h>   //如果头文件没有问题的话，那可能是编译器的问题，我这里运行没有error提示

user: user-0
content: 引用 2 楼 weixin_46695826的回复:这应该是对比两个单链表，找出其相同元素存入一维数组中。 那么，链表中存储的数据类型是否为int，这段代码中无法看出。 是否应该加一行：typedef int slink; 是的呀 typedef int ElemType; typedef struct node{ 	ElemType data;     struct node *next; }slink;

user: user-2
content: 这应该是对比两个单链表，找出其相同元素存入一维数组中。 那么，链表中存储的数据类型是否为int，这段代码中无法看出。 是否应该加一行：typedef int slink;

user: user-3
content: a[j]=p->data; // j 是否保证小于10 ?