说明语句如下:int a[10]={1,2,3,4,5,6,7,8,9},*p=a;则数值为6的表达式是( )。
3个回答
展开全部
D。
表达式“*p = a”说明p指向a[0]的位置;
那么 *p + 6 = a[0] + 6 = 7; A错;
p指向a[0]的位置, 则p + 6 指向a[6]的位置,
那么 *(p + 6) = a[6] = 7; B错;
p是一个指针,p的值本身是一个地址,p + 5显然不可能为5; c错;
上面说了, p指向a[0]的位置,那么 *p = a[0] = 1;
*p += 5; 等同于 a[0] += 5; 等同于 a[0] = a[0] + 5 = 1 + 5 = 6;
显然只有D正确;
表达式“*p = a”说明p指向a[0]的位置;
那么 *p + 6 = a[0] + 6 = 7; A错;
p指向a[0]的位置, 则p + 6 指向a[6]的位置,
那么 *(p + 6) = a[6] = 7; B错;
p是一个指针,p的值本身是一个地址,p + 5显然不可能为5; c错;
上面说了, p指向a[0]的位置,那么 *p = a[0] = 1;
*p += 5; 等同于 a[0] += 5; 等同于 a[0] = a[0] + 5 = 1 + 5 = 6;
显然只有D正确;
展开全部
D
一开始定义了 *p=a,就是指等于a[0];它指向的是一个值!
*p+=5,可以变换一下 *p=(*p)+5 不就 a[0]+5=6.....
A = 7 ;
B 的值是 a[6]=7
c 是一个地址 &a[5] 不是值!
一开始定义了 *p=a,就是指等于a[0];它指向的是一个值!
*p+=5,可以变换一下 *p=(*p)+5 不就 a[0]+5=6.....
A = 7 ;
B 的值是 a[6]=7
c 是一个地址 &a[5] 不是值!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D
A> *p+6=>1+6=7
B>*(p+6)=7
c>p+5 是地址
D>*p+5=>1+5=>6
所以选D
A> *p+6=>1+6=7
B>*(p+6)=7
c>p+5 是地址
D>*p+5=>1+5=>6
所以选D
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询