weixin_45368635 2019-10-04 19:19 采纳率: 0%
浏览 261

单链表查找运算报SIGSEGV错误

如代码 GET函数执行到while处就会报错 本人小白求大神指点

typedef struct node
{
    datatype data;
    struct node *next;
}linklist;
linklist *CREATELIST()
{
    printf("请输入您想输入的链表,$结束\n");
    char ch;
    linklist *head,*s,*r;
    head=malloc(sizeof(linklist));
    r=head;
    ch=getchar();
    while(ch!='$')
    {
        s=malloc(sizeof(linklist));
        s->data=ch;
        r->next=s;
        r=s;
        ch=getchar();
    }
    r->next=NULL;
    return head;
}
datatype GET(linklist *head,int i)
{

    int j;
    linklist *p;
    p=head;
    j=0;
    while((p->next!=NULL)&&(j<i))
    {
        p=p->next;
        j++;
    }
    if(i==j)
        return p->data;
    else return NULL;
}

  • 写回答

2条回答 默认 最新

  • dabocaiqq 2019-10-04 23:40
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作