scanf的报错修正

本文介绍了在C语言中使用scanf时遇到的安全警告问题,提供了解决方案,包括使用#pragmawarningdisable4996临时关闭警告,以及在VS中全局设置_CRT_SECURE_NO_WARNINGS以提高代码兼容性。
摘要由CSDN通过智能技术生成

#scanf的报错修正
####报错情况

#include <stdio.h>

int main()
{
	int score = 0;
	printf("请输入成绩:");
	scanf("%d", &score);
	return 0;
}

例如输入这段代码时,会发生如下报错:

意思是VS认为scanf函数不安全,考虑使用scanf_s替换,想要这个错误描述失效的话,请使用:_CRT_SECURE_NO_WARNINGS
####修正的三种方法
scanf_s是VS这个IDE提供的,不是C语言标准库中的函数,如果你在你的代码中使用了scanf_s函数,那么你的代码在其他的编译器上是编译不通过的,使得你的代码降低了可移植性,所以不推荐使用。
1.进入错误代码编号,让警告失效。即在代码前面加上#pragma warning(disable:错误行代码
错误代码是:
在这里插入图片描述
4996即是错误代码
修正如下:
在这里插入图片描述

2.在当前代码的第一行加上:#define _CRT_SECURE_NO_WARNINGS 1
如下:
在这里插入图片描述
3.让我们创建的所有.c文件中自动加上#define _CRT_SECURE_NO_WARNINGS 1
只要安装好VS,你的安装路径下就会有一个newc++file.cpp的文件,所有新建的.c / .cpp的文件都是拷贝newc++file.cpp这个文件的!所以在newc++file.cpp中加上#define _CRT_SECURE_NO_WARNINGS 1即可。这是一种一劳永逸的方法,推荐使用。
具体操作:
在everthing中搜索newc++file.cpp,并找到具体路径,右击打开方式中选择记事本或其他,在其中输入#define _CRT_SECURE_NO_WARNINGS 1并保存即可。

嘿嘿,点个关注再走呗。
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值