C语言小题目!

一题:main(){charstr[13];scanf("%s",str);printf("%s\n",str);}若输入abcd1234efgh<回车>则程序输入结果是... 一题:
main()
{char str[13];scanf("%s",str);printf("%s\n",str);}
若输入abcd1234 efgh<回车>则程序输入结果是abcd1234 为什么?

#include<stdio.h>
#define N 6
main()
{
char c[N]; int i=0;
for(;i<N;c[i]=getchar();i++);
for(i=0;i<N.putchar(c[i]),i++);
}
输入以下三行,每一行输入都是在第一列开始,<CR>代表一个回车符
1<CR>
2<CR>
345<CR>
输入结果是1
2
34
怎么算的??
展开
 我来答
百度网友5fbf19215
2008-09-16 · TA获得超过171个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:248万
展开全部
1,
main()
{char str[13];scanf("%s",str);printf("%s\n",str);}
若输入abcd1234 efgh<回车>则程序输入结果是abcd1234 为什么?

scanf("%s",str); 遇到空格, 读取截止.所以只读取abcd1234

2,
c[N]中的各项值是1<CR>2<CR>34
使用getchar()时会读取回车符的.
如果将for(;i<N;c[i]=getchar();i++); 改为
for(;i<N;scanf("%c", &c[i]),i++); 的话就能输出12345
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式