如何解决c语言中scanf在vs编译器报错的方案

如果你在编译器中使用scanf时出现“   'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. ”诸如图6.1

         

  6.1这里的报错并不是因为您的语法上出现了错误,而是这个“scanf"在编译器认为是不安全的 ,此时编译器其实提供了两种方案

一就是把scanf替换成编译器认为安全的scanf_s

二就是使用_CAT_SECURE_NO_WARNINGS

但是并没有说明二方案是如何使用,

其实只需将_CAT_SECURE_NO_WARNINGS定义在一行即可,

注意一定是第一行,而且define与_CAT_SECURE_NO_WARNINGS之间是有一个空格的,例如图6.2

6.2

 两个方案都行但各有优缺点,方案一虽然操作简单,但对于代码而言它的可移植性却变低了

方案二虽然好但是操作有一点不方便每一次都要去打一遍,

其实方案二有一个一劳永逸的方法让你每次打开编译器都会自动生成第一行的代码,操作涉及修改编译器我在这里就不好阐述了

应该会有人疑问不是还有一个scanf返回值被忽略的警告吗?

其实这个警告并不影响代码的运行我尝试过许多方法都没用,会导致出错,也就先不管了

如果有哪位大佬知道的话,敬请留言

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值