qawsedrfzxcv3 2022-01-18 18:27 采纳率: 100%
浏览 30
已结题

C语言带头结点链表能编译不能运行

刚学链表,这是一个带头结点链表,能编译但是运行不了,是哪里写错了。


#include <stdio.h>
#include <stdlib.h>
#include <mem.h>
#define Null 0 
typedef struct node
{
    int date;
    struct node* next;
}*point,Node;
int main()
{
    int temp;
    point H,p,pre;
    H = (point)malloc(sizeof(Node));
    printf("请输入数字");
    scanf("%d",&temp);
    while (temp != 0) 
    {
        p = (point)malloc(sizeof(Node));
        p->date = temp;
        pre->next = p;
        pre = p;
        printf("请输入数字");
        scanf("%d", &temp);
    }
    pre->next = Null;
    p = H->next;
    while (p != Null)
    {
        printf("%d", p->next);
        p = p->next;
    }
    return 0;
}
  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2022-01-18 18:47
    关注

    pre->next = p;会崩溃,pre没有赋初始值
    在while前,pre = H;
    printf("%d", p->next);改为
    printf("%d", p->date);
    另外,date是日期,data才是数据的意思

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月27日
  • 已采纳回答 1月19日
  • 创建了问题 1月18日