若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是A)p1=&m;p2=&p1; B)p1=&m;p2=&n;*p1=*p2;C)p1=&m;p2=p1; D)p1=&m;*p2=*p1;并说明以上每个选项正确或错误的理由该题在参考书上的答案是选C

问题描述:

若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是
A)p1=&m;p2=&p1; B)p1=&m;p2=&n;*p1=*p2;
C)p1=&m;p2=p1; D)p1=&m;*p2=*p1;
并说明以上每个选项正确或错误的理由
该题在参考书上的答案是选C

A.p2=&p1,p2不是双指针
B,p2=&n,n还没有赋值
C,正确
D,*p2=*p1;原来p2还没初始化,即没有分配内存
应该这样:p2=new int[1];*p2=*p1;