#数组初始化时的陷阱
数组简单初始化
int arr[]={0};
int buf[10]={0};
下面这种不进行初始化时编译通过
int n;
sacnf("%d",&n);
int arr[n];
int n=10;
int arr[n];
但进行初始化时就会报错
int n;
sacnf("%d",&n);
int arr[n]={0};
int n=10;
int arr[n]={0};
意思是可变长的数组不能被初始化,也就是说,n是变量,不能再定义数组时对数组内的元素初始化,想要初始化需要限定数组的范围
int n=10;
int arr[n];
for(int i=0;i<n;i++)
{
arr[i]=0;
}
这样才能对数组中的元素初始化