这个程序为什么连续输入什么,按空格后就输出什么。getchar()不是只能接收一个字符吗???

[复制链接]
查看11 | 回复3 | 2013-8-1 00:58:37 | 显示全部楼层 |阅读模式
getchar只能接收一个字符没错!1,用户输入的字符首先存储在一个缓冲区中。2,getchar的返回值是用户输入的字符串的第一个字符。事实上是第一次循环时,只输出了第一个字符,第二次循环时,getchar直接从缓冲区取下一个字符。然后依次一个一个输入输出。...
回复

使用道具 举报

千问 | 2013-8-1 00:58:37 | 显示全部楼层
getchar(); 从输入流缓冲区取东西。键盘上拍入的内容,在键盘缓冲区。要让 键盘缓冲区 里的内容 跑到 输入流缓冲区 去,要拍入1个 Enter 键(新行符)。 没拍Enter以前getchar() 处于等待状态。int a; char b;for(a=1;a<8888;a++){b=getchar();putchar(...
回复

使用道具 举报

千问 | 2013-8-1 00:58:37 | 显示全部楼层
getchar()准确的说是接收一个字符,但是外面加了循环,只要不超出8888次,都可以的,可以将循环改小,改为5吧!!!试一下,就知道怎么回事了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行