木目簌 发表于 2021-10-27 20:27:56

C语言链表视频代码出现 id returned 1 exit status问题

#include<stdio.h>
#include<stdlib.h>

struct Book
{
        char title;
        char author;
        struct Book*next;
};

void getInput(struct Book*book);
void addBook(struct Book**library);
void printLibrary(struct Book*library);
void releaseLibriary(struct Book**library);

void getInput(struct Book*book)
{
        printf("请输入书名:\n");
        scanf("%s",book->title);
        printf("请输入作者:\n");
        scanf("%s",book->author);
}



void addBook(struct Book**library)
{
        struct Book*book,*temp;
        book=(struct Book*)malloc(sizeof(struct Book));
       
        if(book==NULL)
        {
                printf("分配内存失败。\n");
                exit(1);
        }
       
        getInput(book);
       
        if(*library!=NULL)
        {
                temp=*library;
                *library=book;
                book->next=*library;
        }
        else
        {
                *library=book;
                book=NULL;
        }
}


void printLibrary(struct Book*library)
{
        struct Book*book;
        book=library;
        int count=1;
       
        while(book!=NULL)
        {
                printf("Book%d",count);
                printf("书名:%s",book->title);
                printf("作者:%s",book->author);
                book=book->next;
                count++;
        }
}

void releaseLibriary(struct Book**library)
{
        struct Book*temp;
        while(*library!=NULL)
        {
                temp=*library;
                *library=(*library)->next;
                free(temp);
        }
       
}

int main(void)
{
        struct Book*library=NULL;
        int ch;
       
        while(1)
        {
                printf("是否需要输入信息(Y/N):\n");
                do
                {
                        ch=getchar();
                }while(ch!='Y'&ch!='N');
               
                if(ch=='Y')
                {
                        addBook(&library);
                }
                else
                {
                        break;
                }
                printf("是否需要打印:\n");
                do
                {
                        ch=getchar();
                }while(ch!='Y'&ch!='N');
               
                if(ch=='Y')
                {
                        printLibrary(library);
                }
                else
                {
                        break;
                }
               
                releaseLibrary(&library);
        }
       
        return 0;
       
}

924254998 发表于 2021-10-28 00:03:15

第69行void releaseLibriary(struct Book**library)
library单词打错了
和第117行的代码对不上

木目簌 发表于 2021-10-28 09:22:19

只剩这一个找不到,太痛苦了,太谢谢了
页: [1]
查看完整版本: C语言链表视频代码出现 id returned 1 exit status问题