我使用了case函数来实现链表的各个功能,在便利链表的时候使用while(b!=NULL)可以正常返回,正常遍历;而使用while(b→data!=NULL)时,也可以正常遍历,但遍历完程序直接就终止了,好像不能返回主菜单,为啥呢?
非循环单链表遍历遇到的问题
我使用了case函数来实现链表的各个功能,在便利链表的时候使用while(b!=NULL)可以正常返回,正常遍历;而使用while(b→data!=NULL)时,也可以正常遍历,但遍历完程序直接就终止了,好像不能返回主菜单,为啥呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- zp_diandiandidi 2022-03-28 08:17关注
data 在结构体中是 int 类型的,与 NULL 进行比较是不合适的。
猜测之所以能够运行,是因为编译器把:
while (b -> data != NULL)
理解成:
while (b -> data)
遍历到最后,末尾节点 b 为 NULL,强行调用:
b -> data
会出现空指针异常,结束程序。
望采纳。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 论文AlphaTensor复现(有偿)
- ¥15 (有偿)在ANSYS中 .anf文件
- ¥45 关于#芯片#的问题:组合逻辑电路设计
- ¥15 基与机器学习和时间序列分析预测养老服务需求趋势
- ¥100 求连续两帧图像在水平和垂直上偏移
- ¥15 mysql全文索引查找指定必须关键词word无效
- ¥15 Verilog hdl密码锁设计
- ¥35 基于python的有ssl加密传输的socket聊天室
- ¥15 数码管亮度控制器设计
- ¥15 kafka客户端跨网段访问,看日志提示连接的还剩内网地址,且访问不通