c语言中数组初始化问题,请大神指教

int array[10];//不初始化数组,那么数组中的元素值为随机值
int array[10] = {0};//这样初始化后,数组的每一个元素值都为0
int array[10] = {n};//n为一个整数,这样初始化,数组的第一个元素为n,其他都为0
为什么会有这样的差异?请大神指教!

看看这个 http://blog.csdn.net/sibylle/article/details/2026915

楼上给的网址讲的很清楚,

如果初始化时指定的的元素个数比数组大小少,剩下的元素都回被初始化为 0。例如
int v5[8]={1};
等价于
int v5[8]={1,0,0,0,0,0,0,0};

     int   v5[8]={0};

等价于
int v5[8]={_0_,0,0,0,0,0,0,0};