这个是原代码,运行中途报错:字符串读写出错。请大神们帮忙看看
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;
}
你用的最新标准吗?
vs2019
应该是,是vs2019社区版
@云雨归海: vs2019使用不一样的C语言标准,也就意味着,scanf和scanf_s的标准不一样,导致了,scanf_s放入的参数不一样
@Conan-jine: 请问怎么改啊?
@Conan-jine: 谢谢您!
@云雨归海: 知识点我换了个网址,是博客园的大佬们的,你可以去看看
@Conan-jine: 好的,好的,怎么找啊,我才接触这个,不怎么懂。不过今天第一次提问这么快就解决了,实在是太给力了。十分感谢您!
@Conan-jine: 我看到了,谢谢
@云雨归海: 其实我也是才知道这个知识点,vs报错之后,把报错的东西复制粘贴,网上一查,就可以知道问题在哪,该怎么改,再深究一些就可以知道相应的知识点
我还是习惯用Dev-C++,以后再用vs2019
@Conan-jine: 嗯嗯,我懂了。用VS2019是因为我找不到其他的,老师发了绿色版的vc6.0但是不能详细报错。
你的代码是不是不全,结构体book没有定义
– Conan-jine 4年前@Conan-jine: 抱歉,是的。我现在补上。O(∩_∩)O谢谢您
– 云雨归海 4年前@云雨归海: 全部代码选择插入代码哦,粘贴复制的话编辑器会识别错误
– Conan-jine 4年前@Conan-jine: 嗯嗯,感谢您。我去试试
– 云雨归海 4年前