

以上代码报错,并不是你代码书写错误,而是警告scanf函数可能是不安全的,考虑使用scanf_s函数来替代。scanf_s函数是VS中msvc这个编译器提供的函数,不是C语言本身的库函数。如果在代码中使用scanf_s函数,那么我们写的这个代码,只能在VS上编译,
使得我们的代码就不具有跨平台性。那我们应该如何解决这个报错呢?
把上面的(#define _CRT_SECURE_NO_WARNINGS 1)这段代码添加进去就可以解决当前报错,记住,一定要放在代码的第一行。下面就是没添加在第一行的后果。
目标:在创建.c文件的时候,自动在.c文件第一行加上:(#define _CRT_SECURE_NO_WARNINGS 1),下面图片就是方法:
一般newc++file.cpp文件是在那个路径。找到根据方法,把文件复制到桌面,在桌面打开,在里面添加(#define _CRT_SECURE_NO_WARNINGS 1)保存,然后拷贝回之前那个路径覆盖那个文件就完成了所有步骤,在之后创建.c文件就会自动在开头加上那句代码了,这就实现我们的目标了。
注:可能安装版本不一样,newc++ file.cpp文件不在那个路径,我们就很难查找到,这个时候我们就使用一个搜索软件搜索就行。版本:下载安装版64位。
下载链接: https://www.voidtools.com/zh-cn/downloads/
引用下面这张图片做解释:
如上图这个代码,arr数组只能存放五个元素,但操作者不一定知道,直接输入abcdefghi这一串字符,可是printf不管你输入了多少,直接全部给你打印出来。而arr[5]只能存放五个,这时就会出现错误,程序直接卡死,这就是VS会出现scanf返回值被忽律,报错的原因,提示scanf不安全。这个错误,只会出现在VS上,devC++和其他编译器没有。
到这里我们就解决了VS使用scanf会出现报错的问题,使用宏解决报错的问题。并知道了报错的原因。如果自己尝试解决不了,欢迎私信我帮你解决这个问题!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/73360.html