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

打印 上一主题 下一主题

主题 1732|帖子 1732|积分 5196

以下面代码为例:
#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. 


报错缘故原由:
        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;
}
        调试结果:

        添加#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企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表