00问答网
所有问题
经过下列语句int j,a[10],*p;定义后,下列语句合法的是() A .p=p+2 B .p=
经过下列语句int j,a[10],*p;定义后,下列语句合法的是()
A .p=p+2 B .p=a[5] c.p=a[2]+2 D.p=&(j+2)
请分别说出理由
举报该问题
推荐答案 推荐于2017-12-16
int j,a[10],*p;
相当于
int j;
int a[10];
int *p;
所以
A. p=p+2是合法的,是指针运算;不过p没有初始化,其值不确定
B. p=a[5]不合法,a[5]是值不是指针,不能赋值给p
C. 同B
D. 不合法,(j+2)是
表达式
,不能取其地址
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/jZnrT0eZn.html
其他回答
第1个回答 2019-12-19
A是合法的但是没有初始化
B是a[5]是一个数,数不能赋值给一个指针
C也是一样
D是j没有初始化而且不能把表达式赋值给一个指针
所以选A
相似回答
经过下列的语句 int
j,a[10],*p
=
a+
3
;定义后,下列语句合法的是
A
.
p=p
...
答:
D.
p=p+
7的话就是a[10]的地址
,a[10]
包含a[0]--a[9],没有a[10]这个数 所以BCD错
经过下列的语句 int
j,a[10],*p;定义后,下列语句
中
合法的是(A)
。
答:
p是
int
型指针
,j是
整数,&
(j+2)
是指存储j+2的地址,前者是一个指针,后者是一个具体的地址,是不能将一个地址赋给一个指针的。具体可以看看下面这个网站,讲的还挺详细的。http://blog.sina.com.cn/s/blog_49195a520100l5p0.html
经过语句int
i
,a[10],*p;后,下列语句合法的是( )
答:
合法的语句是
C
已经
定义int
a[10],*p;,
则
合法
复制表达式是?
A
.p=100
B
.
p=a
[5] C...
答:
答案选d 数组名代表该数组首地址,也就是一个指针
int
*p;定义
了一个指针p,看答题选项可知是对指针的操作 D选项也就是指针p向下移动两个单位 因此D是正确答案
大家正在搜
若有定义语句 int a10
若有定义语句 int a
设有定义语句 int a
若有定义语句char s[10]
int a[10]={10*1}
若有定义int a[2][3]
int a=3,b=2,c=1
若有以下说明int a[12]
语句int *p;说明了
相关问题
经过下列语句int j,a[10],*p;定义后,下列语句合...
经过下列的语句 int j,a[10],*p;定义后,下列语...
经过语句int i,a[10],*p;后,下列语句合法的是(...
经过下列的语句intja括弧十括弧p定义后下列语句中合法的是
.若有说明语句“int a[10],*p=a;”,对数组元素...
经过下列的语句intja
已经定义int a[10],*p;,则合法 复制表达式是?A...