关于数组的疑问,求解答
问题描述:
代码如下
#include<stdio.h>
void main ()
{
int i,a[5]={3,4,5} ,b[5];
printf("a的值\n");
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("\nb的值\n");
for(i=0;i<5;i++)
printf("%d",b[i]);
}
b并未赋值,可为什么输出了结果,而不是乱码,如果是把i的值赋给了b,结果也应该是5个0吧,可最后还有一个1,是我对数组的理解有问题吗
答
局部定义的数组,未初始化时,会自动初始化,不同编译器初始化结果不同,大概率是0,Linux下随机性更大
答
这个编译器会自动初始化为负值的数组,1我也不知道