若有如下定义和语句,则输出结果是()int *p,*pp ,a=10,b=20;pp=&p ;  p=&

若有如下定义和语句,则输出结果是()
int *p,*pp ,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
【题目解析】:

指针p最终指向的是b的地址,所以 *p输出的是b的值,**pp是指针的指针 pp=&p 干的事情是将p的地址指向pp,此时*pp 相当于p 所以 **pp 可以看成是*(*pp) 即* p所以输出的是b的值