首页 > 试题广场 >

假设以行序为主序存储二维数组A=array[100][100

[单选题]
假设以行序为主序存储二维数组A=array[100][100],设每个数据元素占2个存储单元,基地址A[0][0]为10,则A[5][5]的地址为()。
  • 1,020
  • 818
  • 808
  • 1,010
推荐
A[5][5]的地址为:5*100*2+5*2+10=1020,千万不要忘记基址是10,不是0
编辑于 2015-12-22 10:04:28 回复(6)
二维数组默认按行存储。
A[i][j]的地址 = 基地址 + i * 列数 * 每个元素占的字节数 + j * 每个元素占的字节数
A[5][5]的地址 = 10 + 5 * 100 * 2 + 5 * 2
                      = 10 + 1000 + 10
                      = 1020
发表于 2020-09-07 10:11:48 回复(0)
根据公式 基地址+(n(i-1)+j-1)b=10+(100*5+5)*2=1020
发表于 2015-12-21 21:37:21 回复(2)
A[5][5]是从A[0][0]到A[5][5],所以为    10+505*2=1020
发表于 2015-09-15 11:44:55 回复(1)
因为以行序为主序存储的二维数组A下标是从[0][0]开始的,起始位置是10,要求的是[5][5],每个元素的长度是2,所以计算公式为:
10 + (5-0)*100*2 + (5-0)*2 = 1020
发表于 2018-04-09 12:53:18 回复(0)
A=array[100][100]的行列的下标应该都是0到99 A[5,5]是从A[0,0]开始
A[5][5]的难道不是位于第6行第6个元素吗,所以第一眼 觉得A[5][5]的地址为:5*100*2+6*2+10=1022
仔细想了一下,发现不对
基地址:10
第一行末尾元素地址:99*2+10
...
第五行末尾元素地址:400*2+99*2+10
第六行第六个元素地址:400*2+99*2+10+6*2=1020
编辑于 2018-10-18 16:52:24 回复(4)
a[5][5] 完整5行 至第6行第6个 完整5行:100*5=1000 第1行1个:10 第6行第1个:1010 第6行第6个:1010+2*(6-1)=1020
发表于 2022-02-09 10:32:48 回复(0)
算一个有多少个单元就可以了。5*100+5=505 505*2=1010 1010+10=1020
发表于 2020-03-24 18:22:13 回复(0)
有谁能解释下 A[5,5]是A[5][5]=10+100*2*5+5*2=1020,还是A[4][4]=10+100*2*4+4*2=818,做题就在纠结这个。。。。
发表于 2018-09-22 09:50:34 回复(0)

正确答案是B    

解释: 二维数组是mn列,行下标和列下标都从1开始,loc[i j]=首地址+((i-1*n+j-1))*每个数据元素的大小。

发表于 2017-06-24 13:27:12 回复(0)
从a[i][j]到b[m][n]计算公式为 j*m+n 这里 基址为10 每个占2字节,所以总共是10+100*5*2+5*2=1200
发表于 2017-03-09 23:38:28 回复(0)
数组下标从零开始,所以是1020,不是818
发表于 2016-01-16 13:31:20 回复(1)
吐血了。。原来是从10开始。。
发表于 2019-08-28 20:35:49 回复(0)
10+5*100*2+5*2=1020
发表于 2017-08-27 14:06:15 回复(0)
注意基地址
发表于 2017-01-18 01:37:15 回复(0)
基地址是10没注意。。。2了
发表于 2016-08-28 19:40:06 回复(0)
原本应该是506个元素,但第一个元素[0.0]的地址已经确定是10,所以它不用算在506个元素中了,也就是505,再乘以2是1010,然后加上已经取出的[0.0]的地址10,结果为1020
发表于 2022-11-02 12:11:11 回复(0)
还要加上基地址
发表于 2022-08-11 22:14:16 回复(0)
题目意思:我定义了一个100行100列的数组,请找到a[5][5]的地址,这里的2个5是下标值为5,我们都知道数组的下标是从0开始的,所以我们知道a[5][5]是在数组的第6行第6个元素,我们要的是这个地址,第六行第六个说明第六行并没有满,前5行是满的,有5*100个,每个数组元素占2个存储单元,所以先有500*2,再然后是第六行,还有5个元素(要第六个,说明还没到第六个),就是5*2=10.目前加起来就是1000+10=1010,但是基地址不是0,而是10,所以是1010+10=1020.重在理解.

发表于 2022-07-15 10:24:12 回复(1)
array[100][100]这个里面的100是100个元素,而引用数组时,应该是从array[0][0]开始的,则计算A[5][5]为:5×100×2+5×2+10=1020
发表于 2022-05-17 22:48:45 回复(0)
我不太会这个,换成正常说法的话就是a[5][5]意思就是第五行第五列,按写数字的方式排列每行写100个数字,第五行第五列就数到500+5就是505,然后每个数字占两个字节就乘2就1010,然后基地址10就相当于从10数起就1010+10就等于1020,所以a[5][5]的数值就是1020对吧。
发表于 2022-05-16 11:48:04 回复(0)