设数组a[1..m,1..n](m>1,n>1)中的元素按行存放,每个元素占用1

考试题库2022-08-02  4

问题 设数组a[1..m,1..n](m>1,n>1)中的元素按行存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤m,1≤j≤n)相对于数组首元素的偏移量为( )。A.(i-1)*m+j-1B.(i-1)*n+j-1C.(j-1)*m+i-1D.(j-1)*n+i-1

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

答案 B

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

最新回复(0)