(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
图片示例:
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
scanf函数不会对函数做一个空间检测
(没有做空间越界的判断)
可能会栈溢出,然后程序崩溃
总之scanf函数不安全
例:
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)

解决方法
1.考虑使用VS提供的scanf_s函数代替scanf
但是只能在VS下使用,降低了代码的可移植性,跨平台性
不考虑使用
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)

2.使用#define _CRT_SECURE_NO_WARNINGS 1
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
一劳永逸的方法
注意一定是#define(空格) _CRT_SECURE_NO_WARNINGS 1
例:#define _CRT_SECURE_NO_WARNINGS 1
(每次打开文件都会在最顶层出现#define _CRT_SECURE_NO_WARNINGS 1,而且这句话一定要出现在最顶层)
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
图像演示
1.打开此电脑
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
2.找到VS的安装路径中的VC
3.用notepad++打开newc++.file
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
4.在里面输入# define _CRT_SECURE_NO_WARNINGS 1
5.CTRL键加s键保存即可
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
方法二
缺点每次都要先操作
1.右击鼠标点击属性
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
2.点击预处理器,在这句WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)的后面加上 ; _CRT_SECURE_NO_WARNINGS(1一定没有)点击确定即可
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
方法三
缺点每次都要先操作
1.点击新建项时选择win32
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
2.点击下一步,不要点确定
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
3.取消红色圈出的两项
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
4.点击空项目
(详解 )VS系列编译器对 函数不安全报错的 三种简单的 解决方法(有种一劳永逸的方法)
5.点完成即可成功
此方法只会报警告不会报错