若有定义和语句 int **pp, *p, a=10, b=20; pp=&p; p=&a; p=&b; printf("%d,%d\n",*p,**pp); 则输出结果是

若有定义和语句int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);则输出结果是()。A、10,2... 若有定义和语句
int **pp, *p, a=10, b=20;
pp=&p;
p=&a;
p=&b;
printf("%d,%d\n",*p,**pp);
则输出结果是( )。

A、10,20
B、10,10
C、20,10
D、20,20

参考答案:D
为什么?求解释
展开
 我来答
新新5F602
推荐于2018-03-19 · TA获得超过255个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:211万
展开全部
p是指针,先指向a地址,后又改为指向b地址,*p = b;
pp是指针的指针,它指向了p的地址,而p又指向b的地址, 所以**pp取两次值 就代表了b的值;

*号意义不同:
(1) 在定义时int **pp, *p ,表示定义的变量pp、 p为整型指针;
(2)printf("%d,%d\n",*p,**pp);这句中 *p表示取地址p中的值;
最好搞明白*符号的意义和指针的用法,那样你就理解了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式