以下数组定义语句中,错误的是

A.inta[][3];B.inta[][3]={1,2,3,4,5,6,7,8,9};C.inta[2][3]={1,2,3,4,5,6};D.inta[2][3]={... A. int a[][3];
B. int a[][3]={1,2,3,4,5,6,7,8,9};
C. int a[2][3]={1,2,3,4,5,6};
D. int a[2][3]={1,2,3};
告诉我为什么D可以这样写。。 A错在哪里。。 D不应该有6个数吗
展开
 我来答
也许的猫
推荐于2018-04-12 · TA获得超过264个赞
知道答主
回答量:54
采纳率:0%
帮助的人:62.8万
展开全部
二维数组a[x][y]可以看做是一个由x个a[y]组成的数组。
如果我们知道y,不知道x,(1)如果有赋的初值,可以计算出x,是没问题的。
(2)如果没赋初值,计算不出x,计算机没法给这个数组分配空间,所以计算机会认为这样是错的。
但是如果我们知道x,而不知道y,那么计算机无法计算,没法分配空间,计算机会认为是错的。
比如B选项,知道它是由x个a[3]组成,那么根据它的赋值可以得到它的值是这样的a[][3]={{1,2,3},{4,5,6},{7,8,9}},那可以得到是a[3][3]。
A选项没有赋初值,计算机没法计算那个空白值,所以是错的。
D选项这个数组可以成功创建,赋初值可以全部赋值,也可以赋一部分值,那么计算机会把其余值默认为0,所以是没问题的。
_446865422
2013-06-07 · TA获得超过229个赞
知道小有建树答主
回答量:320
采纳率:0%
帮助的人:156万
展开全部
D默认把三个数放在第一个数组里,后面一个是空的,所以可以。C是最基本的语法。B是根据内容将分组安为3*3的二维数组,只有A因为没有值也没有定义,所以不知道是几*3的一个数组,定义不明确。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cd3d6c4
2013-06-07 · TA获得超过315个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:278万
展开全部
D可以,虽然它缺省,表示赋值个前面几个,后面默认为0
A,c++规定定义数组必须给定大小
希望回答能帮到你,哪里不清楚再问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LDRG66
2013-06-07
知道答主
回答量:6
采纳率:0%
帮助的人:8832
展开全部
出初始化不满时,系统随机默认值是0,
a错是因为,数组只给了第二维的长度但没有赋值,系统无法推算出一维的长度,而b选项恰好说明了这一点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
成灵慧4d
2013-06-07 · TA获得超过189个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:193万
展开全部
qq回答的对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式