m0_72322824 2023-03-22 15:50 采纳率: 70.6%
浏览 13
已结题

关于#链表#的问题:我的插入接口函数在其他地方测试也没有问题

void PrintList(Node* head) 
{
    Node* cur = head->next;
    printf_s("医院名称\t级别\t地址\t类型\t医生名字\n");
    while(cur)
    {
        printf_s("%s\t\t%s\t%s\t%s\t%s\n", cur->data.name, cur->data.level, cur->data.address, cur->data.type,cur->data.peo);
        cur = cur->next;
    }
    printf("\n");
}

void Insert(Node* head , Hospital data )
{
    Node* Newnode = CreatNode(data);
    Newnode->next = head->next;
    head->next = Newnode;
}

void Choice() {
    Node* List = CreatList();
    int c;
    Hospital data;
    Node* pmove = NULL;
    printf_s("请输入选项:\n");
    scanf_s("%d", &c);
    int y = getchar();
    switch (c)
    {
    case 0:
        printf_s("已退出\n");
        system("pause");
        exit(0);
        break;
    case 1:
        printf_s("*                     【   1.录入信息   】                     *\n");
        printf("请输入医院名字、级别、地址(区)、类型(综合/单科(具体单科))、名医\n");
        fflush(stdin);
        scanf_s("%s%s%s%s%s", data.name,20, data.level,20, data.address,20,data.type,20, data.peo,20);
        int b = getchar();
        Insert(List,data);

        break;
    case 2:
        break;
    case 3:
        break;
    case 4:
        break;
    case 5:  printf_s("*                     【   5.显示信息   】                     *\n");

        PrintList(List);
        break;
    }
}

int main() {
    while (1)
    {
        meau();
        Choice();
        system("pause");
        system("cls");
    }
    return 0; 

}

为什么在1插入后,在5打印失败了呢?我的插入接口函数在其他地方测试也没有问题

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2023-03-22 15:53
    关注

    因为List只是Choice中的局部变量啊,选1和选5时,创建的是两个不同的List啊。
    简单修改的话,把Node *List 改为全局变量,在main中增加List = CreateList(); Choice函数中第一行删除

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

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 修改了问题 3月22日
  • 创建了问题 3月22日

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况