若有定义int+a+2+3
答:【答案】:D 解析:C语言中数组下标是从0开始的,所以二维数组a[2][3]的第一维下标取值为0、1;第二维的下标取值为0、1、2,因而选项A)、B)、C)都是错误的,选项D)表示数组元素a[0][0]。
答:(*(a+i)+j) 。a是二维数组名,也是二维数组0行的首地址。a[0]是第一个一维数组的数组名和首地址*(a+0)或*a是与a[0]等效的,它表示一维数组a[0]0号元素的首地址。&a[0][0]是二维数组a的0行0列元素首地址。同理,a+1是二维数组1行的首地址,由此可得出:a+i,a[i],*(a+i)...
答:若有定义: int a[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为( )。 A)*(*(a+i)+j) B)(a+i)[j] C)*(a+i+j) D)*(a+i)+j qq250525164 | 浏览2597 次 |举报 我有更好的答案推荐于2017-12-16 14:29:17 最佳答案 选A。因为a 是地址的地址(或者说...
答:填‘6’,一共定义了6个元素。不过题目有歧义:问的是“数组元素”,可以理解为2个,即定义了2个int[3]型一维数组元素。我的理解是前者,即问的是6个int型元素。
答:a是一个二维数组,它的每个元素都是int型的。A的错误是因为p是常量(数组名都是指针常量),不可以被赋值。而且p和a的类型也不一致。BCD都是对p的元素赋值,这是可以的,等号右边应当是一个int型数据的指针(即地址)。C选项中a[1][2]是a的一个元素,是一个int型值,&取了它的地址,所以是...
答:定义等效于 int *p[3];这里p是一个数组,包含三个元素,每个元素类型为int 所以 A p为数组名, 不可以赋值。B p[0]为int*, 而a为二维数组名,等效于int **, 类型不匹配。C a[1][2]为a的一个元素,类型是int,所以&a[1][2]是int*, 和p[0]类型相同, 所以这个赋值是合法的。D ...
答:答案是12,我亲自调试了一下,没问题的。解释:&a[0][0]表示数组a的第一个元素的地址,数组元素存储在内存中一片连续的区域里,所以数组元素的地址加1则指向下一元素地址,多维数组也是一样。因此括号里面的表达式就是a[5](实际上这里没有a[5],而是第5+1=6个元素,即a[2][3])的地址,...
答:(p+1)值是4,(a+5)的值是12。计算机程序运行于电子计算机上,满足人们某种需求的信息化工具。以某些程序设计语言编写,运行于某种目标结构体系上。打个比方,程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇...
答:a为二维数组,其中第二维长度为2所以 a[3][2]={{2,4},{6,8},{10,12}} a[1]+1的地址为&(a[1][1])所以*(a[1]+1)的的值为a[1][1]=8
答:int a[2][3],*p[3];因为[]的优先级比*高所以p是一个数组,这个数组存放的是指向整数的指针。即存放的是一个整数变量的地址。而&a[1][2]正好是一个整数的地址。所以 p[0]=&a[1][2]正确。补充回答:因为D int *p[3];p是一个数组,这个数组存放的是整数指针。p[1]就是一个整数指针...
网友评论:
禹飞13623345815:
若有定义: int a[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为( ). -
4465简委
: 答案为A项.元素值的正确引用为*(*(a+i)+j). 这个题目主要是考查二维数组元素的引用方法.选项A中a+i指向数组a的第i+1行,*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a...
禹飞13623345815:
若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C) -
4465简委
: int a[2][3],*p[3]; 因为[]的优先级比*高所以p是一个数组,这个数组存放的是指向整数的指针. 即存放的是一个整数变量的地址. 而&a[1][2]正好是一个整数的地址. 所以 p[0]=&a[1][2]正确. 补充回答: 因为D int *p[3]; p是一个数组,这个数组存放的是整数指针. p[1]就是一个整数指针. 但是&a并不是整数指针,它是一个数组的指针.
禹飞13623345815:
若有定义int a[2][3],则合法引用数组元素 A.a[0][1/2] -
4465简委
: 应该选择A,数组下标可以是整型常量或整型表达式.1/2是整形常亮表达式,其余的选项都越界
禹飞13623345815:
若有定义:int a[2][3]; 则对a数组的第i行第j列元素地址的正确引用为: -
4465简委
: A
禹飞13623345815:
若有定义int a[2][3],*p=a;则以下不能表示数组元素a[1][2]的是选项:A,*(a[1]+2) B, -
4465简委
: 选BCD C、D选项等价,p是a的地址,a是数组名即数组首元素a[0][0]的地址的地址,所以p解引用一次得到的值还是一个地址,和数组元素自然不同 B选项,P指针解引用2次依然还是个地址,故不和a[1][2]相同 A选项,*(a[1]+2)根据数组与指针的等价关系(arr[i]==*(arr+i)),所以*(a[1]+2)== a[1][2] p要解引用3次才可能是数组的元素
禹飞13623345815:
若有定义:int a[2][3]; 则对a数组的第i行第j列元素值的正确引用为: -
4465简委
: A 呵呵C语言的? 2级指针*(a+i) 就是a[i]的意思+j 就是a[i][j] 外面再加个*好就是取a[i][j] 的值
禹飞13623345815:
若有定义:int a[2][3];则对a数组的第i行第j列元素值得正确引用为 -
4465简委
: 对于二维数组的指针只需记得两个模版:s+i,s[i],序号为i行的首地址;*(s+i)+k,*(s[i])+k元素s[i][k]的地址下面来看选项:A.*(a+i)+j表示元素a[i]...
禹飞13623345815:
若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确 -
4465简委
: a为二维数组,其中第二维长度为2所以a[3][2]={{2,4},{6,8},{10,12}}a[1]+1的地址为&(a[1][1])所以*(a[1]+1)的的值为a[1][1]=8