如果有定义“int m,n=5,*p=&m;”,与m=n等价的语句是: A m= * p B * p= * &n C m=&n D m=* * p。

如果有定义“int m,n=5,*p=&m;”,与m=n等价的语句是: A m= * p B * p= * &n C m=&n D m=* * p。答案是什么?

你好!
p是指向m的指针。所以*p等价于m,A里的m=*p是指把m赋给m.即m=m.
B里的&n是n的地址,*&n是n的值,即把n的值赋给p指向的值m.即m=n
C里&n为地址,即把n的地址赋给m
D里的**p是指p指向的指针所指向的值,在此无意义。
所以选B
谢谢!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-11
答案是b
a。相当于m=m,错
c。相当于把n的地址给m了,错
d。相当于把m的地址给m,更错
第2个回答  2011-01-11
*p 间接解引用,等价于m
故m=n,等价于*p=n,*p=*&n,
选B