首页 新闻 赞助 找找看

c语言,结构体数组连续输出问题

0
悬赏园豆:5 [已解决问题] 解决于 2020-05-17 11:56

这个是原代码,运行中途报错:字符串读写出错。请大神们帮忙看看

include<stdio.h>

define M 3

include<string.h>

struct book
{
char name[30];
char author[20];
struct {
int year;
int month;
}data;
int n;
};

int main(void)
{
int i;
struct book a[M];

for (i = 0; i < 3; i++)
{
	printf("请输入第%d本书的书名:\n", i + 1);
	scanf_s("%s", a[i].name);
	printf("请输入第%d本书的作者:\n", i + 1);
	scanf_s("%s", a[i].author);
	printf("请输入第%d本书的年份:\n", i + 1);
	scanf_s("%d", &a[i].data.year);
	printf("请输入第%d本书的月份:\n", i + 1);
	scanf_s("%d", &a[i].data.month);
	printf("请输入第%d本书的库存量:\n", i + 1);
	scanf_s("%d", &a[i].n);
}

return 0;

}

云雨归海的主页 云雨归海 | 初学一级 | 园豆:187
提问于:2020-05-17 11:01

你的代码是不是不全,结构体book没有定义

Conan-jine 3年前

@Conan-jine: 抱歉,是的。我现在补上。O(∩_∩)O谢谢您

云雨归海 3年前

@云雨归海: 全部代码选择插入代码哦,粘贴复制的话编辑器会识别错误

Conan-jine 3年前

@Conan-jine: 嗯嗯,感谢您。我去试试

云雨归海 3年前
< >
分享
最佳答案
0

你用的最新标准吗?

收获园豆:5
Conan-jine | 小虾三级 |园豆:1272 | 2020-05-17 11:30

vs2019

云雨归海 | 园豆:187 (初学一级) | 2020-05-17 11:31

应该是,是vs2019社区版

云雨归海 | 园豆:187 (初学一级) | 2020-05-17 11:33

@云雨归海: vs2019使用不一样的C语言标准,也就意味着,scanf和scanf_s的标准不一样,导致了,scanf_s放入的参数不一样

Conan-jine | 园豆:1272 (小虾三级) | 2020-05-17 11:49

@Conan-jine: 请问怎么改啊?

云雨归海 | 园豆:187 (初学一级) | 2020-05-17 11:50

@云雨归海: 

这是我给你改的,具体的知识点在—>https://www.cnblogs.com/eniac12/p/4722237.html

临时换了个网站,博客园的更实在

Conan-jine | 园豆:1272 (小虾三级) | 2020-05-17 11:51

@Conan-jine: 谢谢您!

云雨归海 | 园豆:187 (初学一级) | 2020-05-17 11:53

@云雨归海: 知识点我换了个网址,是博客园的大佬们的,你可以去看看

Conan-jine | 园豆:1272 (小虾三级) | 2020-05-17 11:54

@Conan-jine: 好的,好的,怎么找啊,我才接触这个,不怎么懂。不过今天第一次提问这么快就解决了,实在是太给力了。十分感谢您!

云雨归海 | 园豆:187 (初学一级) | 2020-05-17 12:00

@Conan-jine: 我看到了,谢谢

云雨归海 | 园豆:187 (初学一级) | 2020-05-17 12:02

@云雨归海: 其实我也是才知道这个知识点,vs报错之后,把报错的东西复制粘贴,网上一查,就可以知道问题在哪,该怎么改,再深究一些就可以知道相应的知识点

我还是习惯用Dev-C++,以后再用vs2019

Conan-jine | 园豆:1272 (小虾三级) | 2020-05-17 12:04

@Conan-jine: 嗯嗯,我懂了。用VS2019是因为我找不到其他的,老师发了绿色版的vc6.0但是不能详细报错。

云雨归海 | 园豆:187 (初学一级) | 2020-05-17 12:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册