第16行的head没有声明啊,而且你的add函数的返回值类型是void,也就是没有返回值啊,不能这么写啊 ,你把代码贴全一些吧。
代码修改如下:
typedef struct _list{
Node *head;
}List;
void add(List *plist,int number);
int main()
{
List list;
int number;
list.head=NULL;
do{
scanf("%d",&number);
if(number!=-1){
add(&list,number);
}
}while(number!=-1);
return 0;
}
void add(List *plist,int number)
{
Node *p=(Node*)malloc(sizeof(Node));
p->value=number;
printf("%d",p->value);
printf(" ");
p->next=NULL;
Node *last=plist->head; //plist前面不用带*
if(last)
{
while(last->next)
{
last = last->next;
}
last->next = p;
}else
plist->head = p;
}
数据类型不兼容,类型直接用Node