C里面我定义数组时时付初值,只写int a[3][3]={{},{},{}};为何报错?

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:18:01
C里面我定义数组时时付初值,只写int a[3][3]={{},{},{}};为何报错?
在我用的是VC6,根据谭浩强的那本C程序设计来说,这样定义数组时可以的呀,这样的话,应该是数组全部被赋成0,但是编译的时候就是报错error C2059: syntax error : '}'
我就是搞不明白了呀,应该是可以在大括号(里面的三个大括号)里面不写东西的呀

谭浩强的书并没有那么说阿!只能倒数几行或几列不赋值,默认为零
int a[3][3]={0};
int a[3][3]={{1,2},};
int a[3][3]={{1},{1},{1}};等都可以
而且他的书这块儿有错误:不可以只对第二行不赋值
int a[3][4]={{1},{},{9}};是错误的.
尽信书不如无书,编程的时候还是要以编译器为准地!

里面至少写个0吧

int a[3][3] = { 0 };