带头单链表逆置,下面程序有错吗?p=head->next;q=p->next;什么意思?void linklist_rev1(linklilst head); p=head->next;head->next=NULL;while(p){q=p->next;p->next=head->next;head->next=p;p=q;}

问题描述:

带头单链表逆置,下面程序有错吗?p=head->next;q=p->next;什么意思?
void linklist_rev1(linklilst head);
p=head->next;
head->next=NULL;
while(p)
{q=p->next;p->next=head->next;head->next=p;p=q;}