scanf函数在VS中报错的主要原因是 scanf被认为不安全而被编译器默认设置为禁用。
那么如何解决这个问题呢
法一:
仅将函数scanf替换为scanf_s即可,其他语法不变。但scanf_s函数并不是C语言函数库里的标准函数,而是VS编译器所提供的函数,所以并不推荐用这种方法来解决问题。
法二:
在代码的最顶端输入#define _CRT_SECURE_NO_WARNINGS
(!!!注意一定是最顶端不然依旧会报错)
错误示例:
正确示例:
这样就解决了,但是这个办法依然有缺陷,就是当我们每一次新建一个程序或者项目时,就要重新去在代码的最顶端输入#define _CRT_SECURE_NO_WARNINGS。这显然还不是我们想要的解决方案。
法三:
在VS的界面中,最顶端找到项目这一栏,点击属性
找到C/C++这一栏,选择预处理器,打开预处理器定义这一栏最右边的小三角,选择编辑。
在最上方的白框中输入_CRT_SECURE_NO_WARNINGS,点击确定,然后点击应用(切记是应用而非确定),但这种办法依旧不能一劳永逸(恼)。
法四:
打开文件资源管理器,找到visual studio 的安装路径,然后在该路径下搜索 “newc++file.cpp” (或可直接搜索,路径越细查找速度越快)
找到这个文件后复制粘贴到桌面上
输入#define _CRT_SECURE_NO_WARNINGS,后保存退出
将文件拖回原来的位置,点击替换目标中的文件,之后点击确认就好(如果直接在原位置更改保存的话会要管理员权限导致无法保存)
此后我们在VS中创建新的源C/CPP文件时会在开头自动输入
#define _CRT_SECURE_NO_WARNINGS,一劳永逸解决问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)