设数组a[1.n,1.m](n>1,m>1)中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,1≤j≤m)相对于数组空间首地址的偏移量为(35)。

admin2021-01-13  24

问题 设数组a[1.n,1.m](n>1,m>1)中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,1≤j≤m)相对于数组空间首地址的偏移量为(35)。

选项 A、(i-1)*=m+j-1
B、(i-1)*n+j-1
C、(j-1)*m+i-1
D、(j-1)*n+i-1

答案D

解析 本题考查程序语言基础知识。存储数组元素时,需要将元素按照某种顺序排列。对于二维及多维数组,则有按行存储和按列存储两种方式,其不同在于同一个元素相对于数组空间起始位置的偏移量不同。本问题中n行m列的二维数组a[1..n,1..m]是按列存储,则对于元素a[ij]来说,它之前有完整的j-1列、每列n个元素,在第j列上排在a[ij]之前的元素个数是i一1个,因此排列在a[i,j]之前的元素个数为(j-1)*n+i-1,由于每个元素占一个单元,该表达式的值就是偏移量。
转载请注明原文地址:https://kaotiyun.com/show/bbNZ777K
0

最新回复(0)