int a[5]={1,2} 只给前两个赋值 后面的就默认为空(0)
如果输出的话 printf("%d\n",a[0]);printf("%d\n",a[1]);printf("%d\n",a[2]);printf("%d\n",a[3]);printf("%d\n",a[4]);
结果就是1 2 0 0 0
题目中为一维,下面为什么是2维数组呢?
C语言中,默认初值为0;如果赋值长度小于数组长度,则把所赋的值赋予数组的前部分。
不能说是其余的位,前两个数组元素的值为1,2.其余元素默认为0.
数组进行部分初始化,剩余元素都为0
字符数组部分初始化,剩余元素都为\0