以下是一个建立链表程序。我是新手编的有错误,请高手指出
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
struct node
{ int date;
struct node *next;};
struct node * create() \*开始建立链表*\
{struct node *head,*tail,*p;int x; \*定义头指针head及中间指针tail*\
head=tail=NULL;
scanf("%d",&x);
while(x!=0)
{p=(struct node *)malloc(20); (我觉得这个地方有点错误)
p->date=x;
p->next=NULL;
if(head==NULL) head=tail=p;
else
{ tail->next=p;
tail=p;}
scanf("%d",&x);}
return(head);}
void main()
{
struct node *q;
q=create();
}
[求助]链表建立中的错误?