
一道c语言题,要理由~谢谢
14、设有说明ints[5]={1,3,5,7,9};int*p=s;则下列表达式中值为3的是()A)++pB)++(*p)C)*(++p)D)*(p+=2)...
14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )
A)++p B)++(*p) C) *(++p) D) *(p+=2) 展开
A)++p B)++(*p) C) *(++p) D) *(p+=2) 展开
4个回答
展开全部
C
A:p是指针,+1还是指针,指向内存地址
B:*p是1,1+1=2
C:*(++p)表示s中的第二个元素,=3
D:*(p+2)表示s中的第3个元素,=5
A:p是指针,+1还是指针,指向内存地址
B:*p是1,1+1=2
C:*(++p)表示s中的第二个元素,=3
D:*(p+2)表示s中的第3个元素,=5
追问
*p为什么是1?
追答
*p表示p指针指向的元素
在本题中,p指向s数组,等同于指向s数组的首元素,也就是指向1
这样 *p就=1了
不知道说明白了吗。。。。
展开全部
C
++P把指针移动到第2个元素,然后*取值
++P把指针移动到第2个元素,然后*取值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C
*p是指向数组的第一个元素的,++p是存放第二个元素的地址的,而*(++p)就是3
*p是指向数组的第一个元素的,++p是存放第二个元素的地址的,而*(++p)就是3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询