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);
麻烦解释解释各个选项,谢谢! 展开
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的地址。
错在*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的地址。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询