c语言中有关指针的问题 A)int n,*p=NULL; B)*p=&n; C)scanf("%d",&p) D)printf("%d\n",p);

#include<stdio.h>main(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);printf("o... #include <stdio.h>
main( )
{ int
n,*p=NULL;
*p=&n;
printf("Input n:"); scanf("%d",&p);
printf("output n:"); printf("%d\n",p);
}
该程序试图通过指针 p 为变量 n
读入数据并输出,但程序有多处错误,以下语句正确的是
A)int n,*p=NULL;
B)*p=&n;

C)scanf("%d",&p)
D)printf("%d\n",p);

请帮忙给出正确答案和分析,谢谢!
展开
 我来答
孟戈大师
2013-08-17 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:88.6万
展开全部
A正确 B *p=&n不正确,*p是指针p里的的值。而&n是地址。不能将地址付给整形值。应该 p=&n;
C 应该是p,p已经是地址,D应该是*p,*p是值
追问
A为什么是对的,*p是空值?
追答
int *p=NULL和  int *p; p=NULL是等价的。p是个指针,初始化让它指向空。
匿名用户
2013-08-17
展开全部
A是对的。
追问
为什么?
追答
B)*p=&n; ——应该改为p=&n;

C)scanf("%d",&p) ——应该为canf("%d",p)

D)printf("%d\n",p);——应该为printf("%d\n",*p);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式