#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并保存即可。
嘿嘿,点个关注再走呗。