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日

悬赏问题

  • ¥15 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了