有语句“int a=10,b=20,*p1,*p2; p1=&a; p2=&b; ”,若要让p1也指向b,可选用的赋值语句是( ).A、*p1=*p2 B、p1=p2 C、p1=*p2 D、*p1=p2

问题描述:

有语句“int a=10,b=20,*p1,*p2; p1=&a; p2=&b; ”,若要让p1也指向b,可选用的赋值语句是( ).
A、*p1=*p2 B、p1=p2 C、p1=*p2 D、*p1=p2

答案为B,题目要求是p1也指向b,也即p1同样有p1=&b的效果,则只需对指针p1赋值为p2即可.A的效果是:p1所指向的地址的内容变为p2所指向的地址内容,效果如同a=b;C的效果是将p1指向p2所指向的值所代表的地址,效果如同a=*(int*)(b);D的效果是将p1所指向地址内容改为p2,效果如同,a=&b