使用scanf时会出现警告或报错

error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

意思是这个函数可能不安全,建议使用scanf_s替代,或者去掉这个警告,使用 _CRT_SECURE_NO_WARNINGS。

解决方法

1、使用scanf_s代替scanf(其他编译器可能不能进行编译)

2、在最上方加入宏 _CRT_SECURE_NO_WARNINGS(必须在最上方)

#define  _CRT_SECURE_NO_WARNINGS 1

3、在文件上方添加忽略警告

#pragma warning(disable:4996)

一劳永逸的解决方法

1、右击工程

vs中scanf()出现警告解决办法_vs2017

2、点击属性vs中scanf()出现警告解决办法_4996_02

3、c/c++ ->预处理器vs中scanf()出现警告解决办法_4996_03

4、在预处理器定义中添加_CRT_SECURE_NO_WARNINGSvs中scanf()出现警告解决办法_vs2017_04

5、点击确定


还有一种方法(不过我忘了,想起来再更新)