带头单链表逆置,下面程序有错吗?p=head->next;q=p->next;什么意思?

问题描述:

带头单链表逆置,下面程序有错吗?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;}

完全不对,你自己在图上画一画不就知道是什么意思了,看不懂这什么意思额,这个是对的。已经理解了,谢谢回复head->next都没有实时更新,只是在不断的用新值覆盖,你随便输入几个测试数据试试只是新建空的链表不用覆盖后面依次插在首元位置那你应该说链表的建立而不是逆置,逆置是操作于已经建立好的链表。就算是建立新的也不对,你p还没有malloc空间就随便一个指针,要让别人看问题首先要把细节都写好,不要因为小问题让人看不懂,这样根本就不知道你这个程序要表达的意思