修比 朵啦 2019-03-19 17:14 采纳率: 100%
浏览 614
已采纳

为什么我的链表在运行时会卡死或者无法存取信息?

c语言中的链表出了些小问题,运行程序是会卡死

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"struct.h"//专门存放结构体
void register_show();
void success_show();
void order_check_show();
void no_order_show(); //都为显示函数 无影响
int register_add(peo *a,peo *b)
{
    system("cls");
    register_show();
    int career;
    scanf("%d",&career);
    peo *pnew,*p;//想用链表
    pnew=(peo *)malloc(sizeof(peo));
    p=(peo *)malloc(sizeof(peo));
    scanf("%s",pnew->id);
    fflush(stdin);
    scanf("%s",pnew->name);
    fflush(stdin);
    if(a==NULL)
    {
        a=pnew;
    }
    else
    {
        p=a;
        while(p!=NULL)
        {
            if(strcmp(p->id,pnew->id)==0)
            {
                printf("此账号已经被注册!");
                return 0;
            }
            p=p->next;
        }
        p=pnew;
        pnew->next=NULL;
    }
    p=a;
    while(p!=NULL)
    {
        printf("%s",p->id);
        p=p->next;
    }
    free(p);
    free(pnew);
    system("cls");
    success_show();
    system("pause");
    return 1;
}
/*typedef struct people{
    char name[10];
    char id[10];
    struct people * next;
}peo; */
//结构体如上

我想用建立一个链表来存储我的人员信息,但是每次存完发现最多只有一个人员的信息(就是存了两个就会发现其中一个信息没了)。
so我就想输出出来看我保存的东西是不是有问题,结果现在发现这个程序就直接卡死了。(×_×)
这个就有意思了,凭我的直觉,一定是我的链表或定义出了问题,但是奈何我这个大萌新是真的找不到什么错误(好吧!其实是学业不精,链表里面的一些注意点没学会)叹气!
现在我只能求助于各位大神,希望大家能够帮我看看到底是出了什么问题,当然顺便再和我说说关于c语言的链表的知识就更好了(当然,我是绝对不敢要求各为大佬的,只是我的一个小小的请求)最后 拜托了 希望大佬们把我从害怕链表的日子里救出来吧!!!

  • 写回答

1条回答 默认 最新

  • liunx_hello 2019-03-19 18:42
    关注

    你的链表插入 就是重新建立新的链表,至少得出现
    p->next = pnew;
    pnew->next = NULL ;
    你没有往链表里面尾部插入这个新的结点;
    可以看我的博客https://blog.csdn.net/cxyzyywoaini/article/details/88080125

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿