m0_62138486 2022-09-24 18:36 采纳率: 98.6%
浏览 12
已结题

哪里有问题?段错误显示

img


#include <stdio.h>
#include <stdlib.h>

typedef int elemtype;
typedef struct node *list;
struct node{
elemtype data;
list next;
};
list makelinklist(int g)
{
list head=(list)malloc(sizeof(list)),p,tail;
head->next=NULL;
tail=head;
elemtype i=1,x;
scanf("%d",&x);
while(i<=g)
{
p=(list)malloc(sizeof(list));
p->data=x;
tail->next=p;
tail=p;
tail->next=NULL;
scanf("%d",&x);
i++;
}
return head;
}
list deallinklist(list linklista,list linklistb)
{
list head=(list)malloc(sizeof(list));
head=NULL;
list t,L;
for(linklista=linklista->next;linklista!=NULL;linklista=linklista->next)
{
for(linklistb=linklistb->next;linklistb!=NULL;linklistb=linklistb->next)
{
if(linklista->data==linklistb->data)
{
t=(list)malloc(sizeof(list));
t->data=linklista->data;
if(head==NULL)
head=t;
else
L->next=t;
L=t;
L->next=NULL;
}
}
}
return head;
}
void Print(list head)
{
for(list t=head;t!=NULL;t=t->next)
{
if(t==head)
printf("%d",t->data);
else
printf(" %d",t->data);
}
}
int main()
{
list head;
list linklista=(list)malloc(sizeof(list));
list linklistb=(list)malloc(sizeof(list));
int m,n;
scanf("%d %d",&m,&n);
linklista=makelinklist(m);
linklistb=makelinklist(n);
deallinklist(linklista,linklistb);
Print(head);
return 0;
}

img

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-09-24 18:55
    关注

    list linklista=(list)malloc(sizeof(list));
    错误,sizeof(list)只是一个指针对象的占用空间,4个字节而已
    改为
    list linklista=(list)malloc(sizeof(struct node));

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月3日
  • 已采纳回答 9月25日
  • 创建了问题 9月24日

悬赏问题

  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致