我们在用VS的时候,用库函数scanf可能会出现如下图这样的报错。
这是为什么呢?
实际上,这并不是你的语法错误。
它报错的原因是说怀疑这个scanf函数不安全。因为VS是一款功能强大的IDE,它的语法检查、控制台环境检查机制太严格了,你从键盘中输入这个事情在它看来是一种不安全的操作。所以它才会报错。它的建议是用scanf_s或者 _CRT_SECURE_NO_WARNINGS(即crt secure no warnning,控制台不报警告)
我们不建议用scanf_s,因为你会发现当你输入字符串用scanf的时候会出现一系列乱七八糟的问题。
好,简单了解过原因后,现在来说,我们应该怎么样去解决这个问题?
我们提供三种方法,仅供参考。
方法一:
直接在上面添加这样一行代码就行了。
#define _CRT_SECURE_NO_WARNINGS 1 //它的含义是把显示器安全不报警这个变量设置为真
需要注意,一定要将其添加在你的代码的第一行(就是在所有的代码之前)
加完以后变成这样:
就可以运行了。
以上是方法一。该方法的缺点是你每次新建一个源文件可能都需要重新添加这样一句话。
方法二:
在菜单栏里,选择【项目】->【属性】
然后,选择【配置属性】->【C/C++】->【预处理器】->【预处理器定义】,在右侧下拉菜单进行编辑,如下图:
尽量不要动原来的值,然后在下面直接添加刚刚的这个
_CRT_SECURE_NO_WARNINGS
点击确定、确定即可。
该方法的缺点是你每新建一个项目可能都需要重新配置一下。
方法三一劳永逸。
方法三:
找到newc++file.cpp这样一个文件。
怎么找?从你的文件管理器中。
找到你的VS下载到哪里了,然后按照下面的路径来去寻找即可。
找到该文件夹后,拉到桌面上,用记事本打开,然后加上刚刚下面这句话,再拉回来(即该文件原来的地方)即可。
#define _CRT_SECURE_NO_WARNINGS 1
注意,之所以要拉到桌面上,是因为可能你在该文件夹里没有修改的权限。
over~~~~~
好啦,本节的内容就到这里啦~~