代码如下:
#include < iostream> //为什么iostream前面的空格去掉就不能正常显示了?
using namespace std;
const int MAX = 100;
int d,e;
int m[MAX];
int a,b,c;
void main()
{
cout<<m[MAX]<<' '<<m[MAX+1]<<' '<<m[MAX+2]<<endl;
d=4;
c=3;
b=2;
a=1;
cout<< m[MAX]<<' '<< m[MAX+1]<< ' '<< m[MAX+2]<< endl;
}
以上的输出为
0,0,0
1,2,3
可见在内存中a,b,c是紧跟在m[]之后的。
可是,当稍微修改一下代码:> int d,e;
改为> int d;
输出就变成了
0,0,0
2,3,0
这是为什么?
m[MAX]
就已经越界了,话说写错了的程序就不要分析它的行为了。如果一定要知道,那么我告诉你,这段程序所做的一切都是幻觉,它已经在你不知道的情况下向三体人发送了地球的坐标,智子已经发射出来了。