Jay291 2021-11-10 21:19 采纳率: 100%
浏览 35
已结题

求帮我解决一下这个问题

img

  • 写回答

2条回答 默认 最新

  • 关注

    第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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 创建了问题 11月10日