爱的奉献晚会完整版:同样用int定义的数组输出的值怎么不一样?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/12 09:06:23
#include <stdio.h>
void main()
{int a[5]={1,2,3,4,5};
int b[5]={1,2,3};
int c[]={1,2,3,4,5};
static int d[5];
int e[5];
int i;
for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");
for(i=0;i<5;i++)printf("%d",b[i]);printf("\n");
for(i=0;i<5;i++)printf("%d",c[i]);printf("\n");
for(i=0;i<5;i++)printf("%d",d[i]);printf("\n");
for(i=0;i<5;i++)printf("%d",e[i]);printf("\n");
getch();
}
这里b数组未定义的输出的是0
e数组未定义的输出的确是随即的
为什么????

这里定义的b[5]同时给它赋值了。虽然是int b[5]={1,2,3};
但是这相当于int b[5]={1,2,3,0,0};
而e[5]在这里只是声明,没有赋值,在内存的空间开辟了这么一个空间,而里面原来有什么内容那就是随机的了。

[e]里面随机的内容应该是地址吧