御笔剑客 发表于 2018-2-19 22:02:18

这段代码为什么会报错呢?

#include <iostream>
#include <string>
using namespace std;

struct student {
        string name;    //姓名
        string grade;   //年级
        intid;            //学号
        int score;       //成绩
};

struct Node
{
        student stu;      //学生信息
        Node *pNext;//指向下一个节点
};


Node *p_head = NULL;//创建头结点

void InputStudent()
{
        cout << "请输入学生的姓名、年级、学号、成绩:" << endl;
        Node *p = p_head;//当前节点
                                           //找到列表的尾节点
        while (p != NULL && p->pNext != NULL)
        {
                p = p->pNext;
        }
        Node *pNewnode = new Node;
        pNewnode->pNext = NULL;
        if (p_head = NULL)
        {
                p_head = pNewnode;
                p = p_head;
        }
        else
        {
                p->pNext = pNewnode;
        }
        cin >> pNewnode->stu.name >> pNewnode->stu.grade >> pNewnode->stu.id >> pNewnode->stu.score;

        system("cls");
        cout << "添加学生信息成功!" << endl;
}


Node *pNewnode = new Node;应该是这一句或者下一句有问题,我没找出来{:10_266:}

人造人 发表于 2018-2-19 22:48:07

要学会调试程序呀,像这种把 ==写成 = 的问题很难从代码上看出来,但是调试程序一下就能发现这种问题

御笔剑客 发表于 2018-2-20 00:16:55

人造人 发表于 2018-2-19 22:48
要学会调试程序呀,像这种把 ==写成 = 的问题很难从代码上看出来,但是调试程序一下就能发现这种问题

尴尬了{:10_266:},我把色调调成了黑的,没看出来,谢谢了
页: [1]
查看完整版本: 这段代码为什么会报错呢?