有说明语句int a[4][5];,则a[2]+3表示什么意思

如题所述

有说明语句int a[4][5];,则a[2]+3表示正确引用a[1][3]。

由题意可知a[2][4]已经越界。

最后一个元素a[2][3] 引用时下标从0开始,

第一行a[0][0] a[0][1]...

第三行a[2][0] a[2][1]...

所以最后求解出来a[2]+3表示正确引用a[1][3]。

扩展资料

数组元素的编写方法:

let myArray=[11,22,33];

console.log('原数组:',myArray);

myArray.push(44,55);

console.log('用push在数组后面插入元素:',myArray);

myArray.unshift(66,77);

console.log('用unshift在数组前面插入元素:',myArray);

myArray.splice(2,0,'码');

console.log('用splice在数组指定位置插入元素:',myArray);

通过使用push以及unshift即可向数组插入元素,如果要在指定的位置插入元素则可以用splice,splice接收多个参数,分别是索引,要删除的元素个数,新加的元素(可多个,用逗号隔开);

参考资料来源:百度百科-数组元素

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-01
首先呢,a是二维数组,不解释。
然后呢,p是一个指针,什么样的指针呢,就是指向一维数组的指针,而且这个一维数组的元素个数呢是5.
然后呢,p=a;就是把p指向a数组。

分析选项:
A p+1 .因为p是一维数组指针,所以p每+1就是+1行。错误。
B *(p+3)是指第4行的首地址,访问不到元素。需要再*
C *(p+1) + 3 对地址+3 没啦意义
D *(*p+2) *p是第0行首地址 +2 呢就是第二个元素的地址,*取数据咯。
第2个回答  2019-01-01
int a[4][5],数组是4行5列的,行下标为0~3,列下标为0~4
a[4][5] :越界了
*(*(a+2)+3):这个表示a[2][3]
(*(a+2))[3] :这个表示a[2][3]
*(a+2)[3]:越界了本回答被网友采纳
第3个回答  2019-01-01
#include<stdio.h>
int main()
{
int a[10]={1,2,3,4,5,6,7,8};
printf("%d\n",a[9]);
}
输出结果是0,我试过了!