PS:纯萌新,写博客为了记录一下知识,如果有什么错误或者值得改进的地方还望各位大佬多多指正!
我们先打出一段代码:
#include<stdio.h>
int main()
{
int i = 0;
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
for (i = 0; i <= 12; i++)
{
arr[i] = 0;
printf("hehe\n");
}
return 0;
}
在这段代码中,很明显看出是有问题的,当for循环大于9以后下标就越界了,但这段代码放在vs2019中却能运行起来,这是为什么呢?
为了探寻答案,我们打开监视看一下,会发现当下标i为12的时候进行数组赋值,我们所定义的i也变成了0。
这里便会又产生一个疑问,为什么i和arr[12]会一起变化呢?于是我们在监视中再查看一下i和