在VS里使用scanf函数,明明代码没有写错,但在运行代码时系统却会报错(如下图)报错原因:
这种报错是系统认为这个函数可能是不安全的,所以拦截了下来(明明我觉得挺安全的,vs你还管得挺宽…)
翻译一下这句话就是: ‘scanf’: 此函数或变量可能不安全。考虑改用scanf_s。要禁用弃用,请使用_ CRT SECURE NO_ WARNINGS。有关详细信息,请参阅在线帮助。
解决方法:
方法一:
直接将“scanf”替换为“scanf_s”
优点:简单,易操作。
缺点:scanf_s在部分编译器中无法被识别,在牛客网等刷题网站中也无法被识别,泛用性较差。
要解决泛用性问题,就得说到方法二了~
方法二:
复制下来报错的这段内容“_ CRT SECURE NO_ WARNINGS”
粘贴到代码前面,添加一段“#define _CRT_SECURE_NO_WARNINGS”
这样也能解决scanf的报错问题。而且泛用性相对法一也更好。
优点:泛用性好
缺点:要复制粘贴警告内容(之前会错一次)
结语:
之前用scanf函数时报错,查找了相关解决内容,刚好作为今天的学习记录(欸嘿~)小白也想一步步变强