C语言问题,求大神解决,我是小白,解释下原因,谢谢拉。

运行下面的程序:#include<stdio.h>voidmain(){charc[6];inti=0;for(;i<6;c[i]=getchar(),i++);for(... 运行下面的程序:

#include <stdio.h>

void main( )

{

char c[6];

int i=0;

for(;i<6;c[i]=getchar(
),i++);

for(i=0;i<6;i++)putchar(c[i]);

printf("\n");

}

如果从键盘上输入:

ab<回车>

c<回车>
def<回车>

则输出结果为 。

A)a B)a C)ab D)avcdef

b b c

c
c d

d
d

e

f

答案:C
展开
 我来答
zl02655931
2013-03-17 · TA获得超过363个赞
知道小有建树答主
回答量:420
采纳率:0%
帮助的人:354万
展开全部
求楼上的别误人子弟好不好、
我来告诉你,
答案应该是(<CR>代表回车符,怕你看不明白)
ab<CR>
c<CR>
d<CR>
原因很简单,由题意知,这是一个数组问题。从下标为0开始遍历,而C语言中,回车算是一个常用字符,对应的ASCII码是/13.所以,当输入ab回车后,这个回车符会同样被记录下来,而不会立即被输出,知道输入的字符满足6个之后,如果这个时候再输入回车符,就会输出了。
所以,你的选项很乱,也不知道该选哪个。你自己对照一下吧
百度网友c9e7791
2013-03-17 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:277
采纳率:42%
帮助的人:75万
展开全部
A)a B)a C)ab D)avcdef

b b c

c
c d

d
d

e

f

答案乱七八糟,这是数组的应用,
c[i]=getchar()这是输入字符,答案为
ab
c
def
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庞绮露7
2013-03-17 · TA获得超过156个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:167万
展开全部
输出是
ab
c
d
因为换行符也被getchar()读进去了啊
c[6] 其实是{a,b,'\n',c,'\n',d}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友17c6184
2013-03-17
知道答主
回答量:42
采纳率:0%
帮助的人:23.3万
展开全部
因为C语言中回车默认的是结束控制符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式