今天做了C语言,发现一个小疑问,望大家路过瞧一下

来源:百度知道 编辑:UC知道 时间:2024/06/15 01:42:33
为什么int a[10]={} ;是错误的

是错的吗?我的编译器从来没报过这个错误。
但是int a[10] = 0;肯定是错的,谢谢。

int a[10]={};
这样写就是一个声明并初始化的处理,
初始化处理时,数组成员的初始化列表不能为空。

可以这么写:
int a[10]={0};

你可以这么定义
int a[10] = {0,};
或者直接定义 int a[10];编译器初始化数组变量时,也会自动初始化为0。

把它改成 int a[10]=0; 就可以了

因为初始化列表不能为空。

初始化列表中的常量的个数可以比数组元素数量少,但是不能为空。