xcx9977 发表于 2019-8-21 18:33:52

结构体指针

#include<stdio.h>
void printBook(struct Book book);
struct BookgetInput(struct Book book);
struct Date
{
        int year;
        int month;
        int day;
};
struct Book
{
        char title;
        char author;
        float price;
        struct Date date;
        char publisher;
};

struct BookgetInput(struct Book book)
{
        printf("请输入书名:");
        scanf("%s",book.title);
        printf("请输入作者:");
        scanf("%s",book.author);
        printf("请输入价格:");
        scanf("%f",&book.price);
        printf("请输入出版日期:");
        scanf("%d-%d-%d",&book.date.year,&book.date.month,&book.date.day);
        printf("请输入出版社:");
        scanf("%s",book.publisher);
       return book;
}
void printBook(struct Book book)
{
        printf("书名:%s\n",book.title);
        printf("作者:%s\n",book.author);
        printf("售价:%.2f\n",book.price);
        printf("出版日期:%d-%d-%d\n",book.date.year,book.date.month,book.date.day);
        printf("出版社:%s\n",book.publisher);
}

int main(void)

{
       struct Book b1,b2;
       printf("请录入第一本书的信息...\n");
       b1=getInput(b1);
       putchar('\n');
       printf("请录入第二本书的信息...\n");
        b2=getInput(b2);
       putchar('\n');
       printf("录入完毕,现在开始打印验证") ;
       printf("打印第一本书的信息...");
       printBook(b1);
       putchar('\n');
       printf("打印第二本的信息");
       printBook(b2);
        return 0;
}            我想问下为什么我用DEV-C++无法执行语句 哪一步错了呢

cplus 发表于 2019-8-22 16:22:14

变量 b1, b2 沒有初始化
页: [1]
查看完整版本: 结构体指针