VS2019的scanf()函数输入错误以及修改方式

最近重新回顾一下C语言,使用环境为visual studio 2019。

随着版本的更新,输入函数也出现了一些改变。目前一共有两种改动,后续的发现也会补充。

  • 警告    C6031    返回值被忽略: “scanf”。    

这一输入方式本来是很普通的方式,但是在这边就编译不通过,通过查询现在的VS2019使用方式,你需要告诉编译器,这是安全的输入,所以只需要将 scanf 改成 scanf_s 即可。

  • 0x7A47D4EC (ucrtbased.dll)处(位于 Day_1_10.exe 中)引发的异常: 0xC0000005: 写入位置 0x00500000 时发生访问冲突。
  • 0xFEFEFEFE 处有未经处理的异常(在 Day_1_10.exe 中): 0xC00001A5: 检测到无效的异常处理程序例程。 (参数: 0x00000003)。

此次错误发生在给一个字符数组输入数据时发生的。

    char name[40];	
    scanf_s("%s", name);

编译时在输入字符串时就会出现以上错误,修改方式为

	char name[40];	
	scanf_s("%s", name,40);		//用于记录字符串的长度

修改之后就能顺利的编译通过使用了

发布了3 篇原创文章 · 获赞 0 · 访问量 625

猜你喜欢

转载自blog.csdn.net/qq_37374155/article/details/103921945