C语言‘scanf‘函数deprecation报错:This function or variable may be unsafe.

VS2019运行C程序报错及解决方法
在Visual Studio 2019中尝试运行C语言程序时,遇到错误C4996,提示scanf函数不安全,建议使用scanf_s代替。该错误是由于旧版输入输出函数的安全性问题引发。解决方法是关闭项目的SDL(Security Development Lifecycle)检查,通过项目属性设置将“SDL检查”选项设为“否(/sdl-)”。完成设置后,程序成功运行。

笔者在VS2019上运行C语言程序:
数字复读机小程序:
scanf(“I say %d”, &number)的第二个参数传入了前面定义的整型number在计算机中内存的位置,然后把第一个参数匹配到的整型数据写入此内存地址中。(%d中的“%”表示匹配,d表示整型。)

#include <stdio.h>
int main() {
    int number;
    number = 32;
    scanf("I say %d", &number);     #   &number中的&为取地址符(address-of operator)
    printf("Computer says %d", number);
    return 0;
}

时候遇到报错:

错误	C4996	'scanf': This function or variable may be unsafe. 
Consider using scanf_s instead.
To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.	
C_Language	D:\C_Language\hello.c	5	

原因:scanf这类在学习过程中遇到的函数比较旧了,不太安全,所以报警。

解决方法:取消项目的SDL检查即可。
工具栏上选择“项目”:
在这里插入图片描述
点“属性”,弹出的对话框选择“C/C++”,在右侧把“SDL检查”一项选为“否(/sdl-)”即可。
在这里插入图片描述
修改后,按F5运行成功。
在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值