在VS 2019中scanf()为什么会报错

在VS2019中使用scanf()函数但报如下的错误

因为编译器判定那个函数不安全。

在头部添加 #pragma warning(disable:4996)

https://blog.csdn.net/a673786103/article/details/83009074

或者配置编译器。

方法在url中已经给出。

在VS高版本中都建议使用scanf_s替换scanf,早期版本中很多函数由于存在安全性问题,新版本都增加了*_s的替换函数

题主问为什么报错,原因很简单,因为为了安全

我先和你说一下scanf和scanf-s的区别
scanf()函数是标准C中提供的标准输入函数,用以用户输入数据
scanf_s()函数是Microsoft公司VS开发工具提供的一个功能相同的安全标准输入函数,从vc++2005开始,VS系统提供了scanf_s()。在调用该函数时,必须提供一个数字以表明最多读取多少位字符。
scanf()在读取数据时不检查边界,所以可能会造成内存访问越界

scanf不安全,高版本的vs中使用scanf_s代替scanf了。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632