由于我也是刚开始学习C语言,第一次遇到这种问题,也不知道怎么回事,而后就上Chrome研究了一番,才知道缘由,而且找到了几种分散在个个角落的解决方法,我在这里概括总结一下。
c++
在ANSI C中只有scanf(),没有scanf_s(),可是scanf()在读取时不检查边界,因此可能会形成内存泄漏。因而Microsoft公司在VS编译器中提供了scanf_s(),若是想继续使用scanf这个不安全的函数,能够经过如下方法解决。
安全
把scanf改为:scanf_s函数
这是VS编译器特有,既然以为scanf()不安全,那它就本身定义了一个scanf_s()。工具
其实我是不推荐你们使用这种方法的,由于scanf_s它是vs编译器特有的,也就是说它不具备跨平台性/可移植性,在其余编译器上没法识别运行
学习
编译器错误提示的缘由至于VS中的SDL检查,只须要找到它并关闭就能够了。测试
关闭步骤:右键“项目文件” —— “属性” —— “配置属性” ——“C/C++”——“常规”——“SDL检查”改成“否”便可,如图所示3d
改成否后,再次编译就没问题了。blog
在C语言程序开头添加代码:#pragma warning(disable:4996)内存
//所有关掉get
(或者)
在C语言程序开头添加代码:#pragma warning(once:4996)
//仅显示一个
在C语言程序开头添加代码:#define _CRT_SECURE_NO_WARNINGS
//忽略安全检测
每次都要加这么一串代码,是否是感受有点费力??(我一开始找到这种方法的时候第一感受也是这样的)
其实不用那么麻烦,这里还能够细分为两种方法:
(1)咱们只须要在VS中加入 _CRT_SECURE_NO_WARNINGS 这个宏就能够了,具体操做以下图所示:
(2)在VS2019的安装路径下找到“newc++file.cpp”这个文件,用记事本的方式打开,并把这行代码复制粘贴上去,而后保存便可,这样之后每次新建.c源文件的时候这行代码就会自动出如今第一行。
【注意】若是在保存的时候出现“拒绝访问”的状况,能够测试下载安装一个工具“Notepad++”,而后以管理员的身份运行这个软件,用这个软件打开上面提到的“newc++file.cpp”文件,复制粘贴代码上去后,保存便可。
最后提到的这两种都是一次搞定,后面都不用再弄了。
我我的偏向于方法④的第(1)种方法。我也比较推荐你使用这种方法——毕竟简单并且能够说是一劳永逸