C语言单链表相关问题的解析

来源:百度知道 编辑:UC知道 时间:2024/07/08 18:39:40
在一个带首节点的单链表中查找是否有一个值为value的结点,如有则返回该结点,没有则返回空指针,查找可采用顺序扫描的方法,具体函数如下,请填空。
struct node *seek(struct node*head,int vaue)
{ struct node *p=head->next;
while(p)
if(_________________=value) return p;
else ________________;
return NULL;
}
答案是:p->value和p->next,希望有达人能帮我分析啊。3Q了!

struct node *seek(struct node*head,int vaue)
{ struct node *p=head->next; //置开始节点
while(p) //查找到NULL指针结束
if(_p->value==value) return p; //注意这里应该是==
//继续说上一个查找到p所指向的value如果与要查找的相等,则返回其地址

else p=p->next;//注意,这句应该这么写
//把p往后移一个,继续查找下一个节点

return NULL; //若查找不到则返回空指针
}