赞
踩
博主在使用VS2019编译器运行c代码时控制台提示:错误 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.
我们可以点击控制台的C4996,查看原因和解决方法.
出错原因: Visual Studio 库中的许多函数、成员函数、函数模板和全局变量已 弃用。 某些函数/变量(例如 POSIX 和 Microsoft 特定的函数)被弃用的原因是它们现在使用不同的偏好名称。 某些 C 运行时库函数被弃用的原因是它们不安全,而现在具有更安全的变体。 其他函数/变量被弃用的原因是它们已过时。 弃用消息通常包括已弃用函数或全局变量的建议替换项。
解决方法1:使用预处理器宏禁用警告
若要在 Visual Studio 中定义预处理器宏,请执行以下操作:
若要仅在特定的源文件中定义宏,请在包含头文件的任何行之前添加一行#define _CRT_SECURE_NO_WARNINGS
。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int num;
printf("请输入num的值:");
scanf("%d", &num);
printf("%d/n", num);
return 0;
}
运行代码,问题解决
解决方法2:在 Visual Studio 中关闭针对项目的警告
若要在 Visual Studio IDE 中关闭针对整个项目的警告,请执行以下操作:
解决方法3:将scanf函数改用为scanf_s函数,不建议使用此方法
因为scanf_s()函数是VS编译器自带的函数,而并不是C语言标准定义的,所以不建议大家去使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。