若有说明:int *p, a=1, b; 以下正确的程序段是

若有说明:int*p,a=1,b;以下正确的程序段是(D)。A.p=&b;B.scanf("%d",&b);scanf("%d",&p);*p=b;C.p=&b;D.p=... 若有说明:int *p, a=1, b; 以下正确的程序段是(D)。
A. p=&b; B. scanf("%d", &b);
scanf("%d", &p); *p=b;
C. p=&b; D. p=&b;
scanf("%d", *p); *p=a;
B为什么不对?在输入一个b后,b就有了数据,将b的数据赋给*p为什么不行?D中也是将a的数据赋给了*p啊。
展开
 我来答
shine1991
科技发烧友

推荐于2018-03-22 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
这个,不在于 *p=b;还是*p=a;,关键是之前的语句
p=&b;也就是让p指向了变量b,但是B中,没有让p指向某个变量,也就是p是个野指针,语法上虽然没错,但是实际执行的话,有风险的
百度网友36b80f3
2011-06-19
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
因为在B中p指针没有初始化。在D中p被初始化后指向B的地址所以可以用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式