C语言关于VS对函数scanf报错的解决方法

报错原因

    当我们在VS编译器中使用scanf函数时,会报错,代码运行不起来,如图:
在这里插入图片描述
这样的程序就会报以下错误:
scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

    含义就是这个函数可能不安全,考虑使用scanf_s来替换scanf,如果要让编译器不报错,可以使用_CRT_SECURE_NO_WARNINGS. 来取消报错。

    那既然VS说使用scanf_s来替换scanf,那我们要不要使用scanf_s呢?答案是并不推荐使用它,因为C语言标准只提供了scanf函数,并没有提供scanf_s,scanf_s只是VS提供的函数,如果换了一个编译器很可能就会报错,这样会导致代码的可移植性降低,也会给个人带来不好的习惯,所以并不推荐使用scanf_s来替换scanf

解决方法

1.简便解决方法

    那我们怎么才能使用scanf而不报错呢,只需要在整个c文件的第一行写上#define _CRT_SECURE_NO_WARNINGS 就可以了,后面那段英文就是use后的英文,可以复制过去,我们重新运行那个代码的结果如下:
在这里插入图片描述
这次VS就没有报错,成功运行了

2.长期解决方法

    但是问题又来了,每次都要进行这个操作会不会很麻烦,能不能进行简化呢,当然可以,我们只需要想办法让每次创建的C语言文件自动在第一行添加上
#define _CRT_SECURE_NO_WARNINGS 这句话即可

    要实现这样的操作我们就要知道,其实在VS上新建.c .cpp文件时,都是拷贝一个文件,名字叫newc++file.cpp,如果在这个文件的第一行加入那句话,就可以实现新建的.c .cpp文件中都有那句话了

  1. 首先在电脑上下载一个everything工具,下载链接为:https://www.voidtools.com/zh-cn/downloads/
  2. 在everything工具中搜索newc++file.cpp,搜索到后右击它,选择打开文件的位置
  3. 此时有两种可能:
    (1)右击该文件,在打开方式中,选择用记事本打开,将那句话添加进去,最后保存即可
    (2)按照(1)的步骤,到最后一步发现无法保存,可能在该路径下权限不足,可以复制该文件到桌面上,注意不要关闭路径,然后重复(1)的操作,就可以发现可以保存了,最后再将桌面上已经更改的文件复制回原路径替换即可,如果关闭了路径,就按照2的方法将路径打开
  • 29
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值