VS编译器中库函数scanf报错问题及处理办法

以下面代码为例:

#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. 

VS编译器中库函数scanf报错问题及处理办法_第1张图片

报错原因:

        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;
}

        调试结果:

VS编译器中库函数scanf报错问题及处理办法_第2张图片

        添加#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进行保存即可

你可能感兴趣的:(程序人生)