漓y 2022-10-20 18:15 采纳率: 100%
浏览 37
已结题

c语言单链表计算表长出错

问题遇到的现象和发生背景

c语言创建单链表

用代码块功能插入代码,请勿粘贴截图
typedef int ElemType;

typedef struct Lnode{
    ElemType data;
    struct Lnode *next;
}Lnode,*LinkList;

int ListLength(LinkList L){
     Lnode *p;
     p = L->next;
     int count = 0;
     while(p != NULL){
         count++;
         p = p->next;
    }
    return count;
 }

void CreatList_H(LinkList L,int n){
    L = (LinkList)malloc(sizeof(Lnode));
    L->next = NULL;
    int i = 0;
    for(i = 0;i < n;i++){
        Lnode *p = (LinkList)malloc(sizeof(Lnode));
        scanf("%d",&p->data);
        p->next = L->next;
        L->next = p;
    }
} 

int main(){
    LinkList L;
    CreatList_H(L,3);//头插法 
    int count = ListLength(L); //表长 
    printf("%d",count);
    
    printf("1111111111111111111111");
    
    return 0;
} 

运行结果及报错内容

img

我想要达到的结果

正常计算出单链表的长度

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-10-20 20:41
    关注

    修改处见注释,供参考:

    #include <stdio.h>
    #include <stdlib.h>
    typedef int ElemType;
    typedef struct Lnode{
        ElemType data;
        struct Lnode *next;
    }Lnode,*LinkList;
    int ListLength(LinkList L){
         Lnode *p;
         p = L->next;
         int count = 0;
         while(p != NULL){
             count++;
             p = p->next;
        }
        return count;
     }
    void CreatList_H(LinkList* L,int n){ //(LinkList L,int n) //修改
        (*L) = (LinkList)malloc(sizeof(Lnode));//L = 修改
        (*L)->next = NULL;               //L  //修改
        int i = 0;
        for(i = 0;i < n;i++){
            Lnode *p = (LinkList)malloc(sizeof(Lnode));
            scanf("%d",&p->data);
            p->next = (*L)->next;//L->next; 修改
            (*L)->next = p;      //L->next = p; 修改
        }
    }
    int main(){
        LinkList L;
        CreatList_H(&L,3);//头插法
        //CreatList_H(L,3); 修改
        int count = ListLength(L);//表长
        printf("%d\n",count);         //修改
    
        printf("1111111111111111111111");
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 10月20日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度