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 Opencv配置出错
  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?