C语言一道简单的选择题

定义如下数组s:chars[40];若准备将字符串“Thisisastring.”记录下来下面那个是错误的??(A)gets(s+2)(B)scanf("%20s",s)... 定义如下数组s: char s[40]; 若准备将字符串“This is a string.”记录下来 下面那个是错误的?? (A)gets(s+2) (B)scanf("%20s",s) (C)for(i=0;i<17;i++) s[i]=getchar(); (D)while((c=getchar())!='\n') s[i++]=c; 请问应该选哪个?? 请将每个选项都解释一下 因为我都看不懂 展开
 我来答
捷煜白之
2020-04-22 · TA获得超过1111个赞
知道小有建树答主
回答量:509
采纳率:57%
帮助的人:8.8万
展开全部
b错的,因为空格的时候就结束记录了
a输入字符组,+2表示输入两个空格
c中getchar()只取一个字符,循环取值分别把字符放入s[0]——s[16]中
d和c差不多,while循环,在检测到回车字符时结束循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用吹慎慨
2020-09-11 · TA获得超过1057个赞
知道小有建树答主
回答量:1475
采纳率:0%
帮助的人:6.7万
展开全部
c语句以分号来表示语句的结束,注意到第2个for循环后面的分号了吗?那表示for循环到那里就结束了,后面的printf语句并不是for循环的1部分,所以只是输出1个星号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式