楼主这个程序啊,
第一:creatlist()函数写得不是很合理,每次创建链表会浪费一个空间,在最后一次分配空间之后,输入数据等于-1就没有用到其分配的空间。
第二:invelist()函数逻辑不对
linklist *invelist()
{
linklist *p,*q;
p=head->next; //p指向第一个节点,保存第一个节点
head->next=NULL; //头结点反转,指向NULL
while(p!=NULL)//向前遍历
{
q=p; //保存当前节点
p=p->next; //当前节点的下一个节点值
q->next=head->next; //这里head->next为NULL啊,肯定会出错啦,不分析了,楼主再缕缕思路
head->next=q;
}
return(head);
}