以下面代码为例:

#include
int main()
{
int a = 0, b = 0, sum = 0;
scanf(“%d%d”, &a, &b);
sum = a + b;
printf(“%d\n”, sum);
return 0;
}

调试报错:

‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

报错原因:

scanf是c语言提供的,高版本的VS编译器不认可,调试会显示scanf函数不安全从而报错

//类似的VS编译器中显示不安全的函数还有:strcpy、strlen、strcat…..

解决办法:

(1)、scanf改成scanf_s(不推荐)

scanf_s是VS编译器提供的,但是不具有跨平台性,即不具有通用性,在其他编译器中有可能不能被识别。

(2)、在第一行添加“#define _CRT_SECURE_NO_WARNINGS”(最佳选择

添加#define _CRT_SECURE_NO_WARNINGS之后的代码:

#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int a = 0, b = 0, sum = 0;
scanf(“%d%d”, &a, &b);
sum = a + b;
printf(“%d\n”, sum);
return 0;
}

调试结果:

添加#define _CRT_SECURE_NO_WARNINGS的一劳永逸的办法:

//D:\visual studio\Common7\IDE\VC\vcprojectitems\newc++file.cpp(我自己的,每个人的安装路径不同)

//以记事本方式打开newc++file.cpp文件,打开之后里边是空白,在里边复制粘贴#define _CRT_SECURE_NO_WARNINGS,然后ctrl+s保存即可

//如果出现无法保存,通过下载安装“Notepad++”,以Notepad++打开newc++file.cpp文件,添加#define _CRT_SECURE_NO_WARNINGS进行保存即可