米利克伤情:C语言题,有关getchar()的一个问题

来源:百度文库 编辑:高考问答 时间:2024/05/09 20:10:37
#include "stdio.h"
main()
{char ch;
putchar(getchar());
getchar();
ch=getche();
putchar(ch);
putchar(getch());
}
这是比较getchar getche getch的区别的题,第5行那个getchar()我运行了一下怎么发现他可有可无呢,但书上说他的作用是读出键盘缓冲区的回车,到底什么意思,帮帮忙

getchar 缓冲输入一个字符,即按回车后,字符才送到内存
getche 无缓冲输入,程序直接从键盘读取,回显
getch 与getche相同,除了他不回显

getchar先把你输入的字符先放入缓冲区,当你按了回车后,先将回车放入缓冲区,再在缓冲区送入一个字符给内存,不是你按的回车,是你输入的第一个字符,如果你按一个字符后按回车,到第五行的getchar就接收了你输入的回车,如果你输入了两个以上字符,下一个(就是第五行的)getchar就会接收缓冲区内的第二个字符,直到收到回车,缓冲区为空为止

而getch和getche则是你当时按了什么键输了什么字符都立即接收,并返回给内存,你按一下键不用按回车就接收了,你按回车的话就接收你那个回车键'\n'

getchar getche getch
getchar是对的
后面的我没有见过

putchar(getchar());//接受字符
getchar(); //接受回车

你的字符输入完成后
你会按一下回车吧`````
getchar();就起这个作用
要不然,计算机凭什么知道你这个输入完了没????

getchar()是一个标准的输入函数,属于无参函数。在使用它之前必须在主函数的上方,加上#include"stdio.h"
另外还有一个就是getch()它与getchar()
的区别就在于getch()接收字符不在屏幕上显示,而另外一个相反。无论你在屏幕上输入多少字符都只接收一个。

getchar 缓冲输入一个字符,即按回车后,字符才送到内存
getche 无缓冲输入,程序直接从键盘读取,回显
getch 与getche相同,除了他不回显

putchar对而
getcha没有这函数啊;getch()更不可能有啊:你搞错了.