77问答网
所有问题
若有定义语句:int a[2][3],*p[3]; ,则以下语句中正确的是
A)p=a; b)p[0]=a; C) p[0]=&a[1][2]; D)p[1]=&a;
举报该问题
推荐答案 2009-03-01
应该选C。
p是一个指针数组,它有四个元素,每个都是一个指向int型的指针。
a是一个二维数组,它的每个元素都是int型的。
A的错误是因为p是常量(数组名都是指针常量),不可以被赋值。而且p和a的类型也不一致。
BCD都是对p的元素赋值,这是可以的,等号右边应当是一个int型数据的指针(即地址)。C选项中a[1][2]是a的一个元素,是一个int型值,&取了它的地址,所以是正确的。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/pNq3WI3I.html
其他回答
第1个回答 2009-03-01
int* p[3]是定义了一个大小为3的数组指针,也就是定义了三个int型的指针。
p代表指针数组的首地址,相当一个二维指针。
p[0],p[1],p[2]代表一个int型指针
C是对的
第2个回答 2009-03-01
b
第3个回答 2009-03-01
应该选b
相似回答
若有定义语句:int
a[2][3],*p[3];
,则以下语句中正确的是
答:
BCD都是对p的元素赋值,这是可以的,等号右边应当是一个
int
型数据的指针(即地址)。C选项中a[1
][2]是
a的一个元素,是一个int型值,&取了它的地址,所以是
正确的
。
若有定义语句:int
a[2][3],*p[3],则以下语句正确的是
(C)
答:
int
a[2][3],*p[3];
因为[]的优先级比*高所以p是一个数组,这个数组存放的是指向整数的指针。即存放的是一个整数变量的地址。而&a[1][2]正好是一个整数的地址。所以 p[0]=&a[1][2]正确。补充回答:因为D int *p[3];p是一个数组,这个数组存放的是整数指针。p[1]就是一个整数指针。
定义语句inta[2][3],*p[3],
下列
正确的是
答:
p是一个一位数组的地址,&a取到的是a这个二维数组的地址,两者的地址是不同的。这里有一个行地址、列地址的概念。
大一C语言题目 24、
若有定义语句:int
a[2][3],*p[3];
,则以下
答:
核心在于p的类型。定义等效于 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]类型相同, 所以这个...
int
a[2][3],*p;
p=
a;则
对w数组元素非法引用
的是
().A) *(p+2)
答:
int
a[2][3],*p;
p=a; --- 这个
语句才是
非法引用。皮之不存,毛将焉附?下面的问题就没法回答了。
若有定义:int*p[3];,则以下
叙述
中正确的是
().
答:
若有定义:int*p[3];,则以下
叙述
中正确的是
().A.定义了一个基类型为int的指针变量p,该变量
具有三
个指针 B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针 C.定义了一个名为*p的整型数组,该数组含有三个int类型元素 D.定义了一个可指向一维数组的指针变量p,所指...
...数组元素的
正确
引用为( )。
int
a[2][3],
(
*p
)
[3];
p=a;
答:
选 C。p 的类型是
int
(*)
[3],是
指针的指针。C选项相当于 p[1][1]。B选项错,它相当于
p[2][
1],数组的第一个坐标越界了。
大家正在搜
若有定义int a[2][3]
若有定义语句 int a
若有定义语句 int a10
设有定义语句 int a
若有定义语句char s[10]
若有以下说明int a[12]
若有定义int a=7
若有定义inta
若已定义int a
相关问题
若有说明:int n=2,*p=&n,*q=p;则以下非法的...
若有定义语句:int a[2][3],*p[3],则以下语句...
大一C语言题目 24、若有定义语句:int a[2][3],...
若有定义语句:int a[2][3],*p[3];则下列语句...
若有定义:int *p[3];'则以下叙述正确的是 帮我详细...
若有定义:int *p[3];,则以下叙述中正确的是()
若有定义int (*p)[3]; 则对以下叙述正确的选项是?
若有定义语句int a[2][3],*p[3]那么为什么p[...