单链表:为什么while(p)和while(p!=NULL)无限循环,而while(p->next)或者while(p->next!=NULL)有限

Node* p=L;//指向头指针
while(p){
p=p->next;
}

从这几句代码来看,不管你写p还是p->next,都应该能退出循环才对
不要随便省略代码,你以为没用省略掉的那些代码很可能是造成死循环的原因

这几句代码看不出问题。