栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

VS2019 scanf报错--4种解决办法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

VS2019 scanf报错--4种解决办法

我们很多人初学c语言都是用的vs编译器,像我一开始用的DEV C++,原因是它的包小,操作简便,但随着对c语言的认识,发现对这个编译器越来越不顺眼,通过看网课发现很多老师用的都是vs,所以我就安装了一个vs2019。

越用发现是越好用,我的c,c++,还有c#都可以在这一个编译器上写。当然,刚开始用也不习惯,发现很多以前能跑的代码,复制到vs怎么报错了???当然,作为程序员最不怕的就是有bug,直接找度娘,解决90%的问题。那么,接下来我就分享一个我刚开始用vs2019的时候,见到的一个错误以及解决办法。

    scanf报错
#include 

int main() {
	int a ;

	scanf("%d", &a);

	printf("%dn", a);

	return 0;
}

这是很简单的一个代码,输入一个值赋给a,然后再输出a的值,那么会报什么错呢?

至于这里为什么报错我就不解释了,这是他编译器自身的原因,咱们直接给出解决办法:

方法一:将scanf改为scanf_s


可以看到,可以运行,并且成功输出a的值。

方法二:代码头添加:# define _CRT_SECURE_NO_WARNINGS

a也成功输出,但这个编译器也会警告,但不影响我们程序的运行。

方法三:改属性
打开属性,找到c/c++,找到预处理定义,打开,在编辑里添加如下代码:_CRT_SECURE_NO_DEPRECATE,点击应用,点击确定。

这样,我们再去跑一遍代码,发现a也成功输出了。

方法四:同样是改属性,话不多说,直接上图:

将里面的SDL检查,改为否,再去运行程序,发现程序也成功跑起来了。

总结:这类错误还有很多,这是vs编译器自带的安全检查造成的,可能就是为了凸显这是他的编译器,必须要与众不同(自认为的哈,肯定是有他的原因的)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/784155.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号