C语言 若有说明:int *p,m=5,n;以下正确的程序段是()。

若有说明:int*p,m=5,n;以下正确的程序段是(d)。A、scanf("%d",&n);*p=n;B、p=&n;scanf("%d",*p);C、p=&n;scan... 若有说明:int *p,m=5,n;以下正确的程序段是(d)。
A、scanf("%d",&n);*p=n;
B、p=&n;scanf("%d",*p);
C、p=&n;scanf("%d",&p);
D、p=&n;scanf("%d",p);
麻烦解释解释各个选项,谢谢!
展开
 我来答
匿名用户
2015-06-04
展开全部
A、scanf("%d",&n);*p=n;
错在*p = n, 因为p指向的空间为NULL,直接赋值n,会出错

B、p=&n;scanf("%d",*p);
错在scanf,因为是使用的是地址,应该是scanf("%d",p);

C、p=&n;scanf("%d",&p);
同上,应该是scanf("%d",p);

D、p=&n;scanf("%d",p);
可以看看scanf的使用方法,就知道这个是对的。
前面p = &n, 就是说指针指向了变量n,p就是变量n的地址。
whj_njit
2015-06-04 · TA获得超过230个赞
知道小有建树答主
回答量:387
采纳率:0%
帮助的人:251万
展开全部
此题应该选择D;
A,由于指针p没有赋值,所以*p=n错误
B,scanf后面的参数应该是个指针,而*p表示int值,所以错误
C,与B选项类似,&p为指针取地址即为指针的指针而不是int*指针故错误
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式