刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

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

A
(j*m+i)*4
B
(i*m+j)*4
C
(j*n+i)*4
D
(i*n+j)*4
使用微信搜索喵呜刷题,轻松应对考试!

答案:

B

解析:

数组元素a[i,j](其中i和j是从0开始的索引)在存储中以行为主序存放,这意味着每一行元素连续存储,然后再移动到下一行。考虑到数组中的每个元素占用4个存储单元,我们需要计算特定元素相对于数组空间首地址的偏移量。

为了找到a[i,j]的偏移量,我们首先要计算在其之前的元素数量。由于以行为主序,前面已经有i行满,每行有m个元素,所以前面共有i * m个元素。然后在第i+1行(也就是包含a[i,j]的行)上,前面有j个元素。因此,a[i,j]之前的总元素数量为i * m + j。

既然每个元素占用4个存储单元,那么a[i,j]的偏移量就是其前面元素的总数量乘以每个元素的存储单元数,即(i * m + j) * 4。因此,正确的答案是选项B。

创作类型:
原创

本文链接:设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share