鱼C论坛

 找回密码
 立即注册
查看: 1268|回复: 2

[已解决]一道选择题

[复制链接]
发表于 2018-12-29 11:05:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

若二维数组a有m列,则计算任一元素a[i][j]在数组中映射关系为() (1分)
A. a[0][i*m+j]
B. a[0][j*m+i]
C. a[0][i*m+j-1]
D. a[0][i*m+j+1]
最佳答案
2018-12-29 14:24:24
在C 或者C++中,数组的排列是将数组元素一排连接一排顺序存放的。数组中a[i][j]是数组中第i行第j列的值,应该是第i*m+j个元素,因此若把数组改为一行元素进行访问就是a[0][i*m+j]。
给你个小程序看看结果
#include <stdio.h>

void main()
{
   int a[3][6]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};
   printf("%d  %d",a[2][1],a[0][13]);
}

程序运行结果:
14  14
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-29 11:16:25 | 显示全部楼层
A
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-29 14:24:24 | 显示全部楼层    本楼为最佳答案   
在C 或者C++中,数组的排列是将数组元素一排连接一排顺序存放的。数组中a[i][j]是数组中第i行第j列的值,应该是第i*m+j个元素,因此若把数组改为一行元素进行访问就是a[0][i*m+j]。
给你个小程序看看结果
#include <stdio.h>

void main()
{
   int a[3][6]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};
   printf("%d  %d",a[2][1],a[0][13]);
}

程序运行结果:
14  14
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-3 04:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表