发布网友 发布时间:2022-04-20 07:18
共4个回答
热心网友 时间:2023-08-02 11:32
在VS的环境下scanf直接使用会在生成解决方案时产生C4996错误,解决方案:
方法一:
1、错误类型:
如果你直接使用了类似下方的语句,就会提示C4996错误。
2、解决方案:
可以将你该代码中的所有scanf替换成scanf_s,即可避免出现该错误。
方法二:
1、可以通过在预处理器最上方,也就是第一行添加如下代码,即可解决该错误:
#pragmawarning(disable:4996)
2、或者添加如下代码,一样可以解决错误:(注意要放在第一行)
#define_CRT_SECURE_NO_WARNINGS
方法三:
1、在最初创建项目的时候,在向导里的最后一步的界面里,取消掉“安全开发生命周期检查”前默认的勾选即可。
2、即可成功生成解决方案。
热心网友 时间:2023-08-02 11:32
这是一个安全警告, 意思是说scanf有安全隐患, 应当使用更加安全的scanf_s函数来代替它.
因为scanf在读取时不检查边界,所以可能会造成内存泄露. 为此, VC++提供了scanf_s函数作为替代. scanf_s必须提供一个数字参数以表明最多读取多少位字符.
不过对于初学者来说, 很少会在意这些, 也就无所谓了, 一般无视就可以了.
如果对程序安全性和健壮性要求比较高的话, 就用scanf_s.
顺便说一句, scanf_s不是ANSI C标准的一部分, 是VC自己提供的.
热心网友 时间:2023-08-02 11:33
没什么大问题吧,waring警告一下没什么大事的
热心网友 时间:2023-08-02 11:33
%d %d中间有空格