有很多初次接触VS的同学会发现,当我们在写完一段代码,代码中用到scanf输入变量时,在调试编译的过程中就会出现错误:

warning C4996: 'scanf': “This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.”
1>          d:\ckxt\vs2010\vc\include\stdio.h(304) : 参见“scanf”的声明

(这个函数或者变量也许不安全,考虑使用scanf_s 替换。如果不愿意放弃使用'scanf,可以使用_CRT_SECURE_NO_WARNINGS,看它能否帮你处理)

根据这个错误的描述我们会发现有两种解决办法,第一种使用scanf_s函数,但是我们细心地同学就会发现,scanf_s并不是C函数库里的原有函数,它是由VS编译器提供的函数,并不一定在所有的时候都靠谱。所以我们建议使用第二种方法,use _CRT_SECURE_NO_WARNINGS ,具体使用方法如下图所示:

1  我们在代码的第一行对_CRT_SECURE_NO_WARNINGS进行定义(重点切记一定是源代码的第一行进行定义),此时在进行调试编译就不会有scanf报错!

但是这个定义只会在当前源文件生效,当我们每新建一个C文件的时候就需要区定义它一次。这时候我们就需要一个一劳永逸的解决方法:

2  我们找到Visual Studio安装文件里Visual Studio>VC>vcprojectitems路径下的newc++file.cpp文件。将_CRT_SECURE_NO_WARNINGS编辑在这个文件里。当我们再打开Visual Studio新建C源文件都会在第一行自动定义_CT_SE_NO_WS这个指令。调式编译时不会出现scanf报错。

以上就是我摸索学习而来关于Visual Studio 中“scanf”输入报错的解决方法,如有知识错误之处,欢迎大家批评指正,共同学习,共同进步!

关于Visual Studio 中“scanf”输入报错的解决方法相关推荐

  1. Android Studio中虚拟机运行时报错的解决方法

    Android Studio中启动虚拟机时,在主界面的"Event Log"中可能会有报错信息,此时虚拟机仍然是可以运行的. 1 Failed to open /qemu.conf ...

  2. 【错误记录】Visual Studio 中编译 NDK 报错 ( error : cannot use ‘throw‘ with exceptions disabled )

    文章目录 一.报错信息 二.解决方案 一.报错信息 使用 Visual Studio 2019 编译 Android NDK 项目 , 报错如下 : 已启动生成- 1>------ 已启动生成: ...

  3. 【错误记录】Visual Studio 中编译 NDK 报错 ( no matching function for call to ‘cacheflush‘ cacheflush(); )

    文章目录 一.报错信息 二.报错信息 一.报错信息 使用 Visual Studio 2019 编译 Android 平台的 NDK 项目 ; 编译时报错 ; 报错信息 : 1>./native ...

  4. XAMPP中启动tomcat报错的解决方法

    XAMPP装完后,直接启动TOMCAT报错,因为在catalina_start.bat中寻找注册中安装jdk的键值,而我的JDK是绿色的,非安装的..因此解决办法就是将绿色的JDK注册到系统注册表. ...

  5. node.js 中Mysql 查询报错 ,解决方法。

    1.报错: throw err; // Rethrow non-MySQL errors 2.问题出处 mysql\lib\protocol\Parser.js:437 抛出异样,try..catch ...

  6. Android Studio 自定义View命名空间报错的解决方法

    在界面中引用自定义View时命名空间出现错误: 搜索了下,发现是AndroidStudio的gradle的脚本造成的,解析如下: 在eclipse中如果要使用你自定义的属性 是不能用res-auto的 ...

  7. python中unexpected indent报错的解决办法

    python中unexpected indent报错的解决办法 在我们初步学习pyton的时候,由于对python语言的学习掌握不充分,则会导致所编写的代码,运行时候报错.比如,容易报错的unexpe ...

  8. android线程改变布局,Android线程中设置控件的值提示报错的解决方法

    本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.y ...

  9. vue-cli3 中 sockjs-node/info?t=报错 的解决方法

    vue-cli3 中 sockjs-node/info?t=报错 的解决方法 参考文章: (1)vue-cli3 中 sockjs-node/info?t=报错 的解决方法 (2)https://ww ...

最新文章

  1. Linux那些事儿 之 戏说USB(27)设备的生命线(十)
  2. Java中方法签名signature、方法重载以及“两同两小一大”的方法覆盖(方法重写)总结
  3. mysql 连接池的作用,数据库连接池介绍、主要参数设置、作用
  4. redis连不上java,java使用jedis连不上linux上redis服务
  5. mysql 存储过程 生成数据_mysql使用存储过程,批量生成测试数据
  6. python获取sessionid_Python Flask:跟踪用户会话?如何获取会话Cookie ID?
  7. 解决Python中设置与获取cookie时出现的中文编码问题。
  8. PTA 程序设计-一帮一(C语言)
  9. java 生成ai矢量图_(针对新手)AI将位图图标转换为矢量图方法
  10. 产品经理常用的三款工具
  11. 店铺如何提升流量,抢占先机
  12. SAP工具箱通用条件/加点率配置
  13. 香港主机与美国主机的相同点和不同点
  14. threeJS导入FBX模型
  15. error C2059: 语法错误:“::”
  16. 利用spring+springMvc对单点登录(SSO)的简单实现(含源码)
  17. 从进程中获取QQ号码
  18. EverBox 能否成为中国的dropbox
  19. 你想去看电影吗?电影院的未来可能会很像苹果商店
  20. oracle consistent gets,Oracle数据库consistent gets使用的特例

热门文章

  1. 步进电机基础(2.6)-直线步进电机
  2. 单点故障(用通俗易懂的语言告诉你)
  3. 网络电话免费打 【推荐】
  4. 公司中常见的项目类型
  5. 【面试招聘】 科班小硕的2020年面试小结
  6. 骁龙855+4800万像素+五大配件,魅族16s开售
  7. 性格孤僻的原因和改善方法
  8. 题目内容: 你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。 如输入1234,则输出: yi er san si 注意,每个字的拼音之间有一
  9. 华为生态伙伴精英赛背后的深意:做人才的“黑土地”
  10. 芜湖人社×美创科技,人社局数据安全管理制度与数据分类分级建设