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报错解决