作业帮 > 综合 > 作业

设有定义int m=2,n=5,*p=&n;则语句“m=*p;”的结果是().

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 18:54:56
设有定义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错哪了?
一步步分析:
*p = &n; 为定义指针p,同时指向n的地址;
m = *p; 为对m重新赋值,此时*p为对地址&n取值,即n的值5,所以m值变为5;
但此语句不是指向操作,本质上说可以是int = int操作,所以p的指向还是n的地址.