int main()
{
int i , arr[10]; //先定义了i先分配
int sz = sizeof(arr)/sizeof(arr[0]);
for(i = 0; i<= sz; i++) //越界访问
{
printf("%d",i);
a[i] = 0;
}
return 0;
}
想分析清楚就要知道变量在内存中的存储方式是从高到低的
程序中先定义了i,所以在最上面,后定义的arr[10]从下到上是arr[0]~arr[9]