鱼C论坛

 找回密码
 立即注册
查看: 2290|回复: 7

视频教程中结构体与共用体一张 链表课程习题 但是最后输出没有达到预期目的

[复制链接]
发表于 2014-9-1 21:41:25 | 显示全部楼层 |阅读模式
1鱼币
#include "stdafx.h"
#include <iostream>

typedef struct Student{
        unsigned short index;
        unsigned short grade;
        Student* next;
};
int _tmain(int argc, _TCHAR* argv[])
{       

        //input all information nutill input index-0
        Student* head = nullptr;
        Student* ptr = nullptr;
        while (true)
        {
                Student* p;
                Student* getStudent();
                p = getStudent();
                if (p->index == 0)
                {
                        break;
                }
                if (head == nullptr)
                {
                        head = p;
                }
                if (head != nullptr&&head->next == nullptr)
                {
                        head->next = p;
                        ptr = p;
                }
                if (ptr != nullptr)
                {
                        ptr->next = p;
                        ptr = p;
                }
        }
        //output all information
        while (head!=nullptr)
        {
                std::cout << head->index << "     " << head->grade << std::endl;
                head = head->next;
        }
        return 0;
}
//method to get Student*
Student* getStudent(){
        Student a = {0,0,nullptr};
        Student* p =&a;
        std::cout << "please input index and grade of a student:";
        std::cin >>p->index >> p->grade;
        p->next = nullptr;
        return p;
}

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

使用道具 举报

 楼主| 发表于 2014-9-1 21:43:05 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-1 23:32:12 | 显示全部楼层
没有问题描述,没有运行结果,没有错误提示,没人有心情看那一堆
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-4 09:59:21 | 显示全部楼层
:sad
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-4 10:00:07 | 显示全部楼层
这是什么方面的知识
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-7 15:21:08 | 显示全部楼层
{:1_1:}{:1_1:}{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-12 22:20:09 | 显示全部楼层
:sad:sad
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-12 22:23:22 | 显示全部楼层
Student* getStudent(){
         Student a = {0,0,nullptr};
         Student* p =&a;
         std::cout << "please input index and grade of a student:";
         std::cin >>p->index >> p->grade;
         p->next = nullptr;
         return p;
}
这个函数内部做了一个局部变量Student a,对它进行一些赋值后返回它的地址,接着这个局部变量声明周期结束,于是这个指针指向一个已经死亡的变量,天晓得会出什么问题。
一眼瞄到这个问题,其它的没认真看。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 03:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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