关于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以后的版本,但是我并不理解为什么会产生这种问题,有朋友知道的话可以把答案放在评论区分享。