同样用int定义的数组输出的值怎么不一样?

来源:百度知道 编辑:UC知道 时间:2024/05/17 18:35:30
#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]里面随机的内容应该是地址吧

同样用int定义的数组输出的值怎么不一样? 我想在java里用int[] a = new int[]{ }定义一个动态数组,可以请那位高手帮我写一个简单的例子吗? JAVA的数组定义中 "INT[] I" 与 "INT I[]" 之间的区别是什么? 定义一个大小为10的整型数组,数组值由键盘输入,找出最大的那个数和他所在的位置,并输出,输出格式如下 编程序数组的定义、数组的输入、求最大值和平均值的输出 int a;scanf("%d",&a);int b[a];这是错误的,那如何定义一个数组,使数组的长度接受键盘敲入? 二维数组的输出 多维数组的定义 定义一个有5个元素的一维数组:用指针分别实现输入,输出,排序 VC++(Visual C++)中可否用变量定义数组大小?如何设形如int a[]这样的呢?(如VB中的ReDim语句)