| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6401 人关注过本帖
标题:getchar()函数怎么能实现多字符的输出了!
只看楼主 加入收藏
GaFu
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2008-9-4
收藏
 问题点数:0 回复次数:7 
getchar()函数怎么能实现多字符的输出了!
#include<stdio.h>
#include<conio.h>
void main()
{
    char c;
    while ((c=getchar())!='\n')    /*每个getchar()依次读入一个字符*/
        printf("%c",c);        /*按照原样输出*/
    printf("\n\n");
}
这是我在别人博客里看到的,如果连续输入字符后再回车,显示终端会打印出所有的字符串??为什么??
看他们的解释是缓存中存储了所有的输入,然后再将所有输入的字符输出
但是按正常理解,一个字符型变量只能存一个字符,再者缓存中的多余字符怎么会依次由字符变量c输出了呢?
搜索更多相关主题的帖子: getchar 函数 字符 输出 
2008-09-07 22:31
ytsgj
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-9-7
收藏
得分:0 
while ((c=getchar())!='\n')

如果不是换行符,就一直循环。不是这样吗

[[it] 本帖最后由 ytsgj 于 2008-9-7 22:49 编辑 [/it]]
2008-09-07 22:46
GaFu
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2008-9-4
收藏
得分:0 
2# 大 中 小 发表于 2008-9-7 22:46  只看该作者
while ((c=getchar())!='\n')

如果不是换行符,就一直循环。不是这样吗

[ 本帖最后由 ytsgj 于 2008-9-7 22:49 编辑 ]


是会一直循环,如果不输入换行符,但循环应该是输入一个就显示一个啊
怎么会是连续多个输入后,一次全部显示呢?
2008-09-08 12:15
wangyinshiwo
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2007-11-9
收藏
得分:0 
先循环取出所有的字符,最后遇到回车停止,执行输出语句。

抽刀断水水更流,举杯消愁愁更愁。
2008-09-08 12:46
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
首先要搞清楚输入输出流。
当运行getchar函数之后,程序交给了标准输入中断,键盘里输入的数据先都到了输入流缓冲区,一旦遇到车表示完成输入后,就把流中的数据送去程序处理,于是才开始正式执行循环。
除了getchar以外,还有一个真正每次按一下就有反映的函数,那个估计没有缓冲区。那个是getch函数,在conio.h头文件中。
2008-09-08 13:33
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
LS正解```

按一显示一个函数是getch()在conio.h

getchar也不能实现多字符的输出``

要是可以的话就不用循环了``

程序是用循环``在输入的缓冲中``一个字符一个字符读取给C``然后让C一个一个输出

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2008-09-08 20:39
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
getchar()函数是获取输入字符的
而不是输出
2008-09-09 00:57
heartstring
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-9
收藏
得分:0 
getchar(),只有在输入换行符之后才会中止
2008-09-09 09:54
快速回复:getchar()函数怎么能实现多字符的输出了!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015090 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved