int c[3][ ]={{3},{3},{4}};为什么不行?

int c[3][ ]={{3},{3},{4}};

如果行的长度不确定,那么下一行的首地址无法确定,编译器不好弄,所以就整个规定必须行长度已知。就像你不能int a[n],n是一个变量一样。

主要是数组的默认机制,先列后行,没办法。

应该是int c[][3 ]={{3},{3},{4}};

Do not let me think!