scanf 报错

当在Visual Studio中使用scanf时,可能会遇到C4996警告,提示函数不安全。解决此问题有两种方案:一是将scanf替换为更安全的scanf_s;二是预处理器指令#define_CRT_SECURE_NO_WARNINGS,屏蔽警告。选择方案应考虑代码的可移植性和安全性。

scanf在Visual Studio中使用报差错解决方法


scanf使用报错
报错
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 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. 字符数组 E:\Book\数据类型与运算符\字符数组\main.c 13

@ttnb
int main() {
		char e[20];
		scanf("%s", e);
		printf("%s\n", e);
	}


解决方案:

这里有两种解决方法

方案一、将scanf 换为 scanf_s如:

@ttnb
int main(){
	char e[20];
	scanf_s("%s",e);
	printf("%s\n",e);

}
 直接将代码里面的 scanf 全部改为 scanf_s 。
 
 优点:简单粗暴
 缺点:可移植性差,使用后在其他编译器一般会报错

方案二、 在程序的第一行加上 #define _CRT_SECURE_NO_WARNINGS

@ttnb
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(){
	char e[20];
	scanf("%s",e);
	printf("%s\n",e);

}
注意#define _CRT_SECURE_NO_WARNINGS要放到第一行

还有两种方法参考链接:scanf报错解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值