C语言问题:若有char a[80],*s=a;正确的输入语句是()

A:scanf("%s",s);B:gets(*s);C:scanf("%c",s);D:getchar(s,80);正确答案是A,但是四个选项能详细的讲解一下吗?指针的... A:scanf("%s",s);
B:gets(*s);
C:scanf("%c",s);
D:getchar(s,80);
正确答案是A,但是四个选项能详细的讲解一下吗?指针的部分一直不是很明白……
展开
 我来答
化石图鱼
推荐于2018-02-28
知道答主
回答量:29
采纳率:0%
帮助的人:22.3万
展开全部
s表示的是指针,*s表示指针所指向的值

B. gets函数的参数是指针,改为:gets(s);
C. %c代表输入类型是字符型,所以s处应改为变量的地址,改为scanf("%c",&a[0]);
D getchar函数无参数,改为a[0]=getchar();
White_MouseYBZ
2014-06-28 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6385万
展开全部
A正确,请选A。
追问
其余3个错在哪里
追答
B.gets函数需要一个指针参数,而*s却是a[0]——数组a的第一个字符;
C.scanf函数在接收字符串时需要用字符串控制符"%s",而这里却是"%c";
D.getchar函数一看名字就知道是接收一个字符的,而不是接收字符串的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式