小伙伴们在编写C语言程序时会遇到Run-Time Check Failure #2问题
这是在使用数组时遇到的问题
例如以下程序
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i = 0;
char ch[10] = { 0 }; //字符数组的创建和不完全初始化
for (i = 0; i <= 10; i++)
{
scanf("%c", &ch[i]); //输入字符
}
for (i = 0; i <= 10; i++)
{
printf("%c", ch[i]); //打印输入的字符
}
return 0;
}
我们要存入自己输入的十个字符,但由于 i<=10 ,所以这里就出现了
这就叫溢出
只需将i<=10改成i<=9即可
在其他类型的数组中也会出现此问题,注意数组第一个数下标是0