Absolute_Zero$
2021-08-06 10:53
采纳率: 86.7%
浏览 34

输入数据,链表未输出,是什么原因?

创建链表,给链表加5个节点,最后为什么不能输出,能解释一下吗?
img

  • 好问题 提建议
  • 收藏

3条回答 默认 最新

  • 易小顺 2021-08-06 10:57
    已采纳

    靓仔,你给ptr赋空间后又将其指向那个空的head了

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Pink_Piggy 2021-08-06 11:19

    第15行应该是head=ptr;

    评论
    解决 无用
    打赏 举报
  • qzjhjxj 2021-08-06 12:28

    修改如下,供参考:

    #include<stdlib.h>
    #include<stdio.h>
    struct list {
        int   data;
        struct list* next;
    };
    typedef struct list node;
    typedef struct list* link;
    int main()
    {
        link ptr, head;
        int num, i;
        ptr = (link)malloc(sizeof(node));
        head = ptr;
        printf("Please input 5 number=>\n");
        for (i = 0; i <= 4; i++)
        {
            scanf("%d",&num);
            ptr->data = num;
            ptr->next = (link)malloc(sizeof(node));
            if (i == 4) ptr->next = NULL;
            else ptr = ptr->next;
        }
        ptr = head;
        while (ptr != NULL) 
        {
            printf("The value is => %d\n",ptr->data);
            ptr = ptr->next;
        }
        return 0;
    }
    
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题