关于vs2022 C6031 “scanf返回值被忽略”的解决办法

关于vs2022 C6031 “scanf返回值被忽略”的解决办法

我遇到的问题:

在学习c语言的过程中,和教学视频完全一样的代码,但是却在我的编译器里有这样一条警告:在这里插入图片描述

解决办法:

1.在代码的开头添加如下两条命令:

	#pragma warning(disable : 4996)
	#pragma warning(disable : 6031)

2.属性修改

1.打开属性—>C/C++ —> 高级 —>禁用特定警告

在这里插入图片描述

2.在禁用特定警告中 添加 4996 ,6031
在这里插入图片描述

完成上述两条操作后,警告消失了

在这里插入图片描述

产生原因

我在其他帖子找到的原因:
1.某些 C 运行时库函数被弃用的原因是它们不安全,而现在具有更安全的变体。 其他函数/变量被弃用的原因是它们已过时。 弃用消息通常包括已弃用函数或全局变量的建议替换项。

2.主要是因为在ANSI C中没有scanf_s(),只有scanf(),但是scanf()在读取时不检查边界,所以可能会造成内存泄露。

目前好像这种问题好像大部分都出现在VS2019以后的版本,但是我并不理解为什么会产生这种问题,有朋友知道的话可以把答案放在评论区分享。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>