郭卫东 发表于 2025-3-27 13:59:00

VS编译器中库函数scanf报错题目及处置惩罚办法

以下面代码为例:
#include<stdio.h>
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. 
https://i-blog.csdnimg.cn/blog_migrate/7dd7c9ccc10c8c21cea46bef6e03f4e9.png

报错缘故原由:
        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<stdio.h>
int main()
{
    int a = 0, b = 0, sum = 0;
    scanf("%d%d", &a, &b);
    sum = a + b;
    printf("%d\n", sum);
    return 0;
}
        调试结果:
https://i-blog.csdnimg.cn/blog_migrate/f9540bd97870f9213a7cda5050597aa4.png
        添加#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举行保存即可


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: VS编译器中库函数scanf报错题目及处置惩罚办法