
2条回答 默认 最新
技术专家团-小桥流水 2021-11-10 21:23关注第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; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报