按照c primer plus编的这段为什么会这样

img

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/085293277746141.png "#left")
(因为图片上传大小有限,所以无法发源代码,源代码在c primer plus的3.1示例程序上)

我是按照c primer plus 编写的,为什么会这样呢?谢谢!

改用scanf_s就好了
书上是老版本环境,以前用scanf就可以
但scanf输入字符串时,不指定存储空间长度,导致输入并不安全,因此新版增加了用来替代的_s系列函数,所有字符串相关的函数都有升级版本
编译器要求你用scanf_s替代scanf,输入float的话,直接给scanf加上_s就可以了

什么问题?是使用scanf的警告吗
想要消除警告程序最开头加上下面这行代码,或者用scanf_s()函数

#define _CRT_SECURE_NO_WARNINGS

提示是说 从 double 的数值转成float类型可能会损失精度
建议value变量改成 double 类型
编辑器要求使用scanf_s()函数
scanf改成scanf_s()函数
或者加上
#define _CRT_SECURE_NO_WARNINGS

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

非常满意