设有定义int m=2,n=5,*p=&n;则语句“m=*p;”的结果是().
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/27 05:59:59
设有定义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错哪了?
A) 指针p指向m
B) 变量m的值变为5
C) 变量n的值变为2
D) 指针p指向m,同时变量m的值变为5
B和D有什么区别啊?D错哪了?
![设有定义int m=2,n=5,*p=&n;则语句“m=*p;”的结果是().](/uploads/image/z/1900068-60-8.jpg?t=%E8%AE%BE%E6%9C%89%E5%AE%9A%E4%B9%89int+m%3D2%2Cn%3D5%2C%2Ap%3D%26n%3B%E5%88%99%E8%AF%AD%E5%8F%A5%E2%80%9Cm%3D%2Ap%3B%E2%80%9D%E7%9A%84%E7%BB%93%E6%9E%9C%E6%98%AF%28%29.)
一步步分析:
*p = &n; 为定义指针p,同时指向n的地址;
m = *p; 为对m重新赋值,此时*p为对地址&n取值,即n的值5,所以m值变为5;
但此语句不是指向操作,本质上说可以是int = int操作,所以p的指向还是n的地址.
*p = &n; 为定义指针p,同时指向n的地址;
m = *p; 为对m重新赋值,此时*p为对地址&n取值,即n的值5,所以m值变为5;
但此语句不是指向操作,本质上说可以是int = int操作,所以p的指向还是n的地址.
设有定义int m=2,n=5,*p=&n;则语句“m=*p;”的结果是().
设有定义int m,n,*p;与语句“m = n;”等价的语句序列是( ).
如果有定义“int m,n=5,*p=&m;”,与m=n等价的语句是()
7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( ).A) p=1; B) *q
如果有定义“int m,n=5,*p=&m;”,与m=n等价的语句是:A m= * p B * p= * &n C m=
设有定义:int n=0,*p=&n,**q=&p,则下列赋值语句哪个是正确的?A.p=1;B.*q=2;C.q=p;D
设有定义:int n=0,*p=&n,**q=&p;则一下选项中,正确的赋值语句是()A,P=1B.*q=2 C.q=p
C语言指针变量如果有定义:int m,n=5;*p=&m;与m=n等价的语句是:A m=*pB *p=*&nC m=&n
设有定义:floatx=123.4567;则执行下列语句后的输出结果是—— printf("%f\n",(int)(x*
设有变量定义:int m=0,n=0;则执行表达式(m--
设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为(3)
设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为()