这道题为什么选B啊,解释一下,C语言

 我来答
弑绯
2016-06-06 · TA获得超过2499个赞
知道小有建树答主
回答量:893
采纳率:75%
帮助的人:707万
展开全部
你是没有分清楚指针申明符号的意思。在定义的时候,你可以把代码拆分开来看。
int a = 10,*p=&a可以修改为
int a,*p;
a=10;
p=&a;
从这这段代码你就可以弄明白了,首先在定义的时候指针申明符号只是为了让你知道p这个变量是个指针,而不是说*p是个指针。a的地址,赋值给的是p,而不是*p。所以在printf语句中的*p等于的是a地址内保存的值,也就是10,++10的输出结果就是11
MarkLiu_2022
2016-06-06 · TA获得超过154个赞
知道小有建树答主
回答量:114
采纳率:100%
帮助的人:57.4万
展开全部
由题意:
p -> a

因为 * 的优先组高于 ++ ,所以:

*p 就是就量 a

++*p <=> ++(*p) <=> ++a == 11

选B
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
330290573
2016-06-06 · TA获得超过183个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:36.4万
展开全部
指针P是存放A的地址,而这个地址里面存放的值是10,那么++*p,即是指针p里面的值++,当然就是=11;如果是++p,那么就是指针地址++了,所以*指针符号很关键。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路人甲2021QL
2016-06-06
知道答主
回答量:43
采纳率:50%
帮助的人:4.7万
展开全部
*p=&a的意思是将a的地址赋给 p,p是一个指针,&a的地址赋予p,++*p就是,取出p指向的值,也就是a,a=10,10自增1,所以是11。

--------------------------------
按照我更简单的理解就是,a=10;p=a,++p;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天云小店
2016-06-06 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:748万
展开全部
++*p = ++(*p) = ++a = 11
追问
他不是把a的地址赋给了指针p吗
追答
int *p = &a;
等价于
int *p;
p = &a;
所以p才是指向a的地址,*p等价于a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式