鱼C论坛

 找回密码
 立即注册
查看: 1046|回复: 4

C语言单链表的问题

[复制链接]
发表于 2021-12-1 17:45:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 AO7 于 2021-12-1 22:02 编辑

#include <stdio.h>
#include <stdlib.h>

struct Person
{
        int age;
        int height;
        struct Person *next;
};

void getInput(struct Person *pPerson)
{
        printf("age:");
        scanf("%d", &(pPerson->age));
        printf("height:");
        scanf("%d", &(pPerson->height));
}

void addPerson(struct Person **ppHead)
{
        struct Person *pPerson, *temp;

        pPerson = (struct Person *)malloc(sizeof(struct Person));
        if (pPerson = NULL)
        {
                printf("内存分配失败");
                exit(1);
        }

        getInput(pPerson);

        if (*ppHead != NULL)
        {
                temp = *ppHead;
                *ppHead = pPerson;
                pPerson->next = temp;
        }
        else
        {
                *ppHead = pPerson;
                pPerson->next = NULL;
        }

}

void showPerson(struct Person *pHead)
{
        struct Person *pRead;
        int c = 1;
        pRead = pHead;

        while (pRead != NULL)
        {
                printf("%d %d\n", (*pRead).age, (*pRead).height);
                pRead = pRead->next;
        }
}

void releasePerson(struct Person *pHead)
{
        struct Person *temp;
        while (pHead != NULL)
        {
                temp = pHead->next;
                free(pHead);
                pHead = temp;
        }
}

int main()
{
        struct Person *pHead = NULL;
        for (int i = 0; i < 2; i++)
        {
                addPerson(&pHead);
        }

        showPerson(pHead);
        releasePerson(pHead);

        return 0;
}


我按照《带你学C带你飞》系列单链表1里面的代码敲了,只是把Book变成了Person,里面的元素稍微改了一下,但是不能正常运行。

编译的时候没有报错,但是程序总是莫名其妙的停止,多次运行会发现后台有很多未关闭进程。求解

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-1 18:44:24 | 显示全部楼层
本帖最后由 jackz007 于 2021-12-1 18:47 编辑

           解决问题的前提是重现问题,难道你希望别人为了帮你还得照着图片重敲一遍所有代码?
           不要贴图片,把你的代码文本贴进代码框。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-1 19:55:50 | 显示全部楼层
jackz007 发表于 2021-12-1 18:44
解决问题的前提是重现问题,难道你希望别人为了帮你还得照着图片重敲一遍所有代码?
          ...

ok
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-6 18:35:34 | 显示全部楼层
顶一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-6 21:33:39 | 显示全部楼层
自己打断点调试
或者输出值来 确定错误位置
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-17 04:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表