为了账号安全,请及时绑定邮箱和手机立即绑定

大佬带带我

大佬带带我

C
德国一个夏天的童话 2017-02-07 16:55:52
#include<stdio.h>int a=10,b=20;void go(int *p){p=&b;}void main(){go(&a);printf("%d",a);}这段代码 把p=&b改成 *p=b就能改变a的值为甚么呀
查看完整描述

2 回答

已采纳
?
___C___

TA贡献168条经验 获得超109个赞

以上分析:p是指针变量,存放地址的。*p的意思是指向地址上的值。p=&b;首先,a是一个int变量,不是指针变量,它的地址已固定,所以不能改变。

查看完整回答
1 反对 回复 2017-02-08
?
LWL20201104

TA贡献1条经验 获得超0个赞

因为*p指向的是a,*p=b;就相当于把b的值赋给a了

查看完整回答
反对 回复 2017-02-11
  • 2 回答
  • 0 关注
  • 1180 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信