我们来看一下报错的提示:
咳咳,是不是字太小了
我们将主要部分放大一些
这句英文的意思大概是,这个函数或者这个变量可能不安全,可以考虑使用scanf_s来代替,如果想继续使用,在前面加上_CRT_SECURE_NO_WARNINGS
所以我们在使用scanf的时候就会在最前面加上下面这串代码
#define _CRT_SECURE_NO_WARNINGS
但是我们有没有想过为什么scanf这个函数不安全呢?
我们来看下面一串代码
#includeint main() { char arr[3] = { 0 }; scanf("%s",arr); return 0; }
当我们输入abcd的时候,程序出现了异常
这是由于scanf接收字符串的时候没有根据数组大小来接收而是全部接收了,使得数组出现了越界访问,使得程序异常
正是如此,所以vs认定scanf的使用不安全



