Rhaastzzk 2022-03-28 00:36 采纳率: 50%
浏览 35
已结题

非循环单链表遍历遇到的问题

img

img

img

img


我使用了case函数来实现链表的各个功能,在便利链表的时候使用while(b!=NULL)可以正常返回,正常遍历;而使用while(b→data!=NULL)时,也可以正常遍历,但遍历完程序直接就终止了,好像不能返回主菜单,为啥呢?

  • 写回答

3条回答 默认 最新

  • zp_diandiandidi 2022-03-28 08:17
    关注

    data 在结构体中是 int 类型的,与 NULL 进行比较是不合适的。

    猜测之所以能够运行,是因为编译器把:

    while (b -> data != NULL)
    

    理解成:

    while (b -> data)
    

    遍历到最后,末尾节点 b 为 NULL,强行调用:

    b -> data
    

    会出现空指针异常,结束程序。

    望采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 已采纳回答 3月28日
  • 创建了问题 3月28日

悬赏问题

  • ¥20 论文AlphaTensor复现(有偿)
  • ¥15 (有偿)在ANSYS中 .anf文件
  • ¥45 关于#芯片#的问题:组合逻辑电路设计
  • ¥15 基与机器学习和时间序列分析预测养老服务需求趋势
  • ¥100 求连续两帧图像在水平和垂直上偏移
  • ¥15 mysql全文索引查找指定必须关键词word无效
  • ¥15 Verilog hdl密码锁设计
  • ¥35 基于python的有ssl加密传输的socket聊天室
  • ¥15 数码管亮度控制器设计
  • ¥15 kafka客户端跨网段访问,看日志提示连接的还剩内网地址,且访问不通