int a[3] [3] ={1,2,3,4,5,6,7,8,9};

a[1][3]=?为什么?... a[1] [3]=?
为什么?
展开
 我来答
我才是柳随风
推荐于2018-03-19 · TA获得超过163个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:48万
展开全部
这个二维数组实际上是一个有3个元素的一维数组,其中数组的元素又是一个有3个元素的一维数组。
我们先按行优先重新排列一下:
int a[3][3]=
{
1,2,3,
4,5,6,
7,8,9
};
C和C++中的数组是从0开始编号的,
第1行:a[0][0],a[0][1],a[0][2]
第2行:a[1][0],a[2][1],a[1][2]
第3行:a[2][0],a[2][1],a[2][2]
再看你要取的值:a[1][3]在哪里呢?显然在a[1][2]之后,但该值已经超出了数组的界限(数组有3个元素),即下标溢出了,溢出到了哪里呢?因为C/C++中多维数组(存储方式)相当于连续的一维数组,因此,这里它的溢出位置恰好是a[2][0]所在的位置。

现在可以给你答案了:a[1][3]=7
漆蓄0g6
2012-11-15 · 超过28用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:66.9万
展开全部
7
a[3][3] 就是3行3列
a[1][3] 就是第2行第4列(因为数组下标是从0开始记的),但是数组里没有第4列,顺着往下数,就是第3行的第一列,就是7.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友77e36c2
2012-11-15 · TA获得超过726个赞
知道小有建树答主
回答量:332
采纳率:100%
帮助的人:83.9万
展开全部
不知道,因为a[0][0]表示第一行第一列,a[0][1]表示第一行第二列
a[1][0]表示第二行第一列,而a[1] [3]表示第二行第四列,而这个数组是3行3列的,所以不知道a[1] [3]等于多少,没定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冯益斌
2012-11-15 · TA获得超过1019个赞
知道小有建树答主
回答量:869
采纳率:100%
帮助的人:1003万
展开全部
赋值后,a的元素为
1,2,3,4,5,6,7,8,9
4,5,6,7,8,9

7,8,9

a[1] [3]=7
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gui_happy
2012-11-15 · TA获得超过2091个赞
知道大有可为答主
回答量:4276
采纳率:42%
帮助的人:2941万
展开全部
0列 1列 2列
0行 1 2 3
1行 4 5 6
2行 7 8 9

a[1] [3]=6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式