用C算法访问一个单链表

来源:百度知道 编辑:UC知道 时间:2024/06/30 21:03:24
elemtype access(node *h,int i){
node *p;
p=h;
j=0;
while(p->next!=0&&j<i){
p=p->next;
j++;
}
if(p!=NULL&&j=i)
return (p->data);
else
return (NULL);
}
请问下。其中的p!=NULL,有什么用!!希望详细阐述下!!

while(p->next!=0&&j<i)应该是while(p->next!=NULL&&j<i)

if(p!=NULL&&j=i)应该是if(p!=NULL&&j==i)

程序的目的是找到链表第i个节点
p!=NULL表明上面那个循环没有循环到链表尾部,说明找到了该节点,后面的&&j==i可以不写