常见报错:如何解决 vs 编译器scanf函数报错问题?

在使用VS编译器编译C语言代码遇到scanf函数报错时,可以采取两种解决办法。一种是在函数后添加'_s',使VS认为其为安全函数,但这降低了代码的可移植性。另一种是在源文件开头添加`#define _CRT_SECURE_NO_WARNINGS 1`,屏蔽VS的报错,提高代码的通用性。若想避免每次都手动添加,可以通过修改VS的New++File模板在新建文件时自动包含此定义。
摘要由CSDN通过智能技术生成

问题来源

当我们使用vs编译器编译c语言代码,并需要用到一些非常常用的库函数的时候(如scanf)

vs编译器通常会报出如下错误:

有的时候即便报错了,程序也可以正常运行;

但有的时候就会同图中一样,程序无法运行;

出现这个错误的原因是vs编译器认为这些库函数是“不安全的”(我可真谢谢你,担duo心guan那xian么shi多,微软)

解决方法

解决这个报错问题的方法有两种

1.使用_S下标

如图所示,我们可以在库函数后面加一个_s,这时候vs就会把它认为是“安全的函数”,程序就可以正常运行了

方法一的致命缺点:

但是这么做有一个非常大的弊端——该代码只能在vs编译器里运行

如图,如果我们将这一串带_S的代码复制到**devc++**这款编译器里面

devc++编译器会报错,无法运行这串代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值