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

img

img

img

img


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

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

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

while (b -> data != NULL)

理解成:

while (b -> data)

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

b -> data

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

望采纳。

能不能给个文本版的代码,我跑一下

1.好好找台电脑,安装个IDE,别用手机编程
2.你可以设置断点,或者加print,来看代码到底跑到哪去了