早教吧 育儿知识 作业答案 考试题库 百科 知识分享

设有一个二维数组A[m][n],假设A[0][0]存放位置在600(10),A[3][3]存放位置在678(10),每个元素占一个空间,问A[2][3](10)存放在什么位置?(脚注(10)表示用10进制表示,m>3)A.658B.648C.633D.653这里的A[2][3](1

题目详情
设有一个二维数组A[m][n],假设A[0][0]存放位置在600(10),A[3][3]存放位置在678(10),每个元素占一个空间,问A[2][3](10)存放在什么位置?(脚注(10)表示用10进制表示,m>3)
A.658 B.648 C.633 D.653
这里的A[2][3](10)下标从0,还是1开始
▼优质解答
答案和解析
分析过程:
每个数组元素占用 1 个地址单元.
A[0][0]是二维数组的第一个元素,它的地址即为数组的首地址,为600.
A[3][3]是数组的第(3 * n + 4)个元素,它与A[0][0]相距(3 * n + 3)个元素的位置.
\x093 * n + 3\x09(3个整行外加第4行前面3个元素)
A[3][3]的地址 = A[0][0]地址 + 两元素相隔距离

678 = 600 + 3*n + 3
得n = 25,即数组共有25列.
同理,A[2][3]与A[0][0]相距(3 * n + 3)个元素的位置
\x092 * n + 3\x09(2个整行外加第4行前面3个元素)
A[2][3]的地址 = A[0][0]地址 + 两元素相隔距离
= 600 + 2 * 25 + 3
= 653
故答案选D.