关于C4996警告怎么处理?

紫色动力 2017-10-15 05:13:04
大家好!
我在用VS2015学习C语言。现在遇到一个问题。VS2015的编译器说scanf(),是不安全的。查了下在线的帮助,需要这样做:

请打开项目的 “属性页”对话框。 展开“配置属性” 、“C/C++” 、“预处理器” 。 在“预处理器定义” 中,添加 _CRT_NONSTDC_NO_WARNINGS。 选择“确定” 进行保存,然后重新生成项目。 若要仅在特定源文件中定义此宏,请将行 #define _CRT_NONSTDC_NO_WARNINGS 添加到包括标头文件的任意行之前。

但这样做了还是不行。

#include<stdio.h>

int main(void)
{
int i(100);

printf("请输入一个整数:");
scanf("%d", &i);

printf("该整数加上12的结果是:%d\n", i + 12);

return 0;
}


请各位指点下,如何处理。
...全文
1193 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫色动力 2017-10-21
  • 打赏
  • 举报
回复
谢谢各位!!!!!!!!!
赵4老师 2017-10-16
  • 打赏
  • 举报
回复
引用 4 楼 ckc 的回复:
我都是在最前面加上 #pragma warning(disable:4996)
qq_33655727 2017-10-16
  • 打赏
  • 举报
回复
看你的代码上面没有加啊。
自信男孩 2017-10-16
  • 打赏
  • 举报
回复
引用 4 楼 ckc 的回复:
我都是在最前面加上 #pragma warning(disable:4996)
支持
WhiskyCocktail 2017-10-16
  • 打赏
  • 举报
回复
在安装路径中加入那句话 我的在C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcprojectitems
ckc 2017-10-16
  • 打赏
  • 举报
回复
我都是在最前面加上 #pragma warning(disable:4996)
棉猴 2017-10-16
  • 打赏
  • 举报
回复
必须要加入英文符号的分号,不知道你加了没有?
勤奋的执着 2017-10-16
  • 打赏
  • 举报
回复
引用 7 楼 zhao4zhong1 的回复:
[quote=引用 4 楼 ckc 的回复:] 我都是在最前面加上 #pragma warning(disable:4996)
[/quote]
paschen 2017-10-15
  • 打赏
  • 举报
回复
因为这个函数是不安全,可能造成缓冲区溢出,所以现在建议用scanf_s来代替如果仍想用可以选择以下任何一种方法: 1、新建项目时不要勾选安全开发生命周期检查 2、在项目属性的C/C++命令行中加上 /D _CRT_SECURE_NO_WARNINGS

70,039

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧