小孩多指:请问关于C的二维数组初始化问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 02:10:51
在 C语言潭浩强编 的课本里有类似这样的一个二维数组初始化
int[][3]={{1,1,1},{},{1,1}};
书上说它等价于
int[3][3]={{1,1,1},{0,0,0},{1,1,0}};
请问这种初始化是正确的吗?
如果正确? 我在Turbo C中 应该如何调试 我为什么调试不成功
谢谢大虾解答
但是我们学校里编的课本也是这这样的 我学校的课本是按Turbo C2.0编写的
我用了 Turbo C2.0 Turbo C2.01 Turbo C2.01汉化版
都是一样的 根本不能编译
但int[][3]={{1,1,1},{0},{1,1}}; 就能成功
不知道为什么? 应该不是编译器的问题
如果我要考二级出了这题 我怎么回答 算正确? 可以这样写?

当然是正确的!可是你写的不正确当然调试也不会正确!你拉了“数组名”了!改成这样
int a[][3]={{1,1,1},{},{1,1}};
这里省略了行数,因为后边的赋值可以知道它是一个3行3列的二维数组。
int a[3][3]={{1,1,1},{0,0,0},{1,1,0}};
这是原始的赋值方法。
其实就是二维数组的初始化赋值问题。书上都有介绍这里就不多说了,自己看书。

两个都是正确的
我这都能运行
你用VC++6.0看看

不一样的编译器,会有不同的结果,你不必在意的.在我这个软件上也不能运行.
不知道你用的是不是Turbo C2.0?

数组的名字 a你怎么能丢掉呢!这个问题是正确的

正确的,相信真理.