其主要原因是scanf存在越界访问内存问题
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{
char ch[5];
scanf("%s", ch); //输入abcd
printf("%s\n", ch); //正常输出abcd
scanf("%s", ch); //输入abcdefg
printf("%s\n", ch); //此时已经报错,报错原因是输入时超过原数组的大小导致数组越界
//访问到不属于该数组的范围
}
1.将scanf 修改成 scanf_s,使用visual code编译器提供的函数,可解决该问题
2.采用宏定义
#define _CRT_SECURE_NO_WARNINGS 1
但是下次还需要在新建源码中继续添加该字段
方法二
下面介绍一种彻底解决该方法的方式
最终目的是修改:
如果读者能找到,直接省略前几步