题目:
#include <stdio.h>
void main ()
{
int i;
int a[3];
for (i = 0; i <= 3; i++ ){
a[i] = 1;
}
printf("%d ",&a[0]);
printf("%d ",&a[3]);
printf("%d ",&i);
}
1244984 1244996 1244996
该代码有什么问题?
答案:Windows Intel处理器:在栈空间变量按地址递减方式分配,陷入死循环
引申:如果将i放在数组后面会有栈溢出的问题