m0_59064287 2021-06-06 20:12 采纳率: 100%
浏览 62
已采纳

求大神指点,为什么这段代码运行后,才输入一个,就显示”请按任意键继续“,不能再输入了

#include<stdio.h>

struct Date
{
	int year;
	int month;
	int day;
};
struct Book
{
	char title[128];
	char author[40];
	char price;
	struct Date date;
	char publisher;
};
struct Book getinput(struct Book book)
{
	printf("书名:");
	scanf_s("%s", book.title);
	printf("作者:");
	scanf_s("%s", book.author);
	printf("价格:");
	scanf_s("%f", book.price);
	printf("出版日期:");
	scanf_s("%d-%d-%d", book.date.year,book.date.month,book.date.day);
	printf("出版社:");
	scanf_s("%s", book.publisher);
	return book;
}
void printBook(struct Book book)
{
	printf("书名:%s\n", book.title);
	printf("作者:%s\n", book.author);
	printf("价格:%f\n", book.price);
	printf("出版日期:%d-%d-%d\n", book.date.year,book.date.month,book.date.day);
	printf("出版社:%s\n", book.publisher);
}
int main()
{
	struct Book b1= {"xx","xx",0.0,0-0-0,"xx"},C;
	printf("请输入第一本书的信息\n");
	C=getinput(b1);
	printBook(b1);
	return 0;
}

 

  • 写回答

4条回答 默认 最新

  • CSDN专家-Time 2021-06-06 20:14
    关注

    scanf_s是要带长度的。

     

    而且非数组类型,scanf_s是要带取地址的。

    struct Book
    {
    	char title[128];
    	char author[40];
    	float price;
    	struct Date date;
    	char publisher;
    };
    struct Book getinput(struct Book book)
    {
    	printf("书名:");
    	scanf_s("%s", book.title,20);
    	printf("作者:");
    	scanf_s("%s", book.author,20);
    	printf("价格:");
    	scanf_s("%f", &book.price);
    	printf("出版日期:");
    	scanf_s("%d-%d-%d", &book.date.year, &book.date.month, &book.date.day);
    	printf("出版社:");
    	scanf_s("%s", &book.publisher,20);
    	return book;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False