那位大虾帮忙找一下错误
# include <stdlib.h># include <stdio.h>
typedef struct list {
int data;
struct list *next;
} Llist, *NewList;
// 单链表的声明函数系列
void list(void); // 单链表的主函数;
void createlist(NewList); // 加长链表的长度;
void printlist(NewList); // 输出链表的数据;
// 源代码开始
main()
{
list();
}
// 单链表的主函数
void list (void)
{
NewList head;
head->data = 12;
head->next = NULL;
createlist(head);
printlist(head);
}
// 延长单链表的长度并存储数据
void createlist(NewList head)
{
int data;
NewList p;
NewList nextlist; // 作为交换的中间量
int n = 1;
while(1)
{
if(n == 2) // 作为链表长度的限定
break;
printf("Enter new data: \n");
scanf("%d", &data);
nextlist = malloc(sizeof(NewList)); // 分配资源
nextlist->data = data;
nextlist->next = NULL;
if(head->next == NULL)
{
head->next = nextlist;
p = nextlist;
}
else
{
p->next = nextlist;
p = nextlist;
}
n++;
// free(nextlist);
}
}
void printlist(NewList head)
{
printf("Enter the list");
while(head->next != NULL)
{
printf("%d",(head++)->data);
}
}