设有定义int m=2,n=5,*p=&n;则语句“m=*p;”的结果是().
A) 指针p指向m
B) 变量m的值变为5
C) 变量n的值变为2
D) 指针p指向m,同时变量m的值变为5
B和D有什么区别啊?D错哪了?
人气:358 ℃ 时间:2020-07-12 07:05:04
解答
一步步分析:
*p = &n;为定义指针p,同时指向n的地址;
m = *p; 为对m重新赋值,此时*p为对地址&n取值,即n的值5,所以m值变为5;
但此语句不是指向操作,本质上说可以是int = int操作,所以p的指向还是n的地址.
推荐
- 如果有定义“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等价的语句是()
- 设有定义int m,n,*p;与语句“m = n;”等价的语句序列是( ).
- 设有定义:int n=0,*p=&n,**q=&p,则下列赋值语句哪个是正确的?A.p=1;B.*q=2;C.q=p;D.*p=5;
- 若已定义:int m=12,n=10,k;语句k=m&n;执行后k的值为()?
- 英语翻译
- 残缺也是一种美的理解
- 一根木棒放砸圆柱形的容器里,木棒长30cm,容器高7cm,底面半径长12cm,木棒露在容器外面有多长?
猜你喜欢