创建一个单列表按值查找,要是列表没有该值,找不到,为什么这个代码就不行了?
而这个代码就可以
如果从头到尾都找不到e,最后p会指向null,此时如果访问p->name
,会因为访问了null的成员而报错,所以直接用图1的写法会报错
图二的写法是在while结束后判断while是因为哪个条件结束的,如果p!=NULL
,说明前一个while不是因为扫描所有节点,而是因为p->name==e
这一条件而结束,此时输出即可
如果p==NULL
,说明列表中所有节点都被扫描并且没有找到e,此时进行没找到e相关的输出
有帮助望采纳~