int a[10]={ };a[0]~a[9]的值为什么是0?

#include<stdio.h>
int main( )
{
int a[10]={ };
int i;
for(i=0;i<10;i++)
printf("%d\n",a[i]);
return 0;
}

因为数组的默认值是0,你并没有给具体的初始值。

数组默认赋值为0

你没赋值就默认为0啊