A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dream静 中级黑马   /  2014-11-3 21:58  /  3971 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1黑马币
谁能详细告诉下getchar()这个方法和get()方法,大致的用法和方法里面大致是什么。

最佳答案

查看完整内容

getchar有一个int型的返回值。当程序调用getchar时。程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。 ...

6 个回复

倒序浏览
getchar有一个int型的返回值。当程序调用getchar时。程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int c;
  5. /* Note that getchar reads from stdin and
  6. is line buffered; this means it will
  7. not return until you press ENTER. */
  8. while ((c = getchar()) != '\n')
  9. printf("%c", c);
  10. return 0;
  11. }
复制代码

回复 使用道具 举报
getchar();的用法很多:
一种就是清空回车符,这种情况一般发生在在循环中涉及到输入的情况。
还有一种是某些编译平台(IDE)在运行程序时并没有在程序运行后给人看结果的时间,这时候在程序最后加上getchar();就能造成程序的暂停,给程序员度结果的机会。

用getchar();时,在键盘上按一个字符后,要按回车才能读取进去;用getch();时,在键盘上按一个字符马上就被读取进去,不用按回车,因此可以作为“按任意键继续”的执行语句。
回复 使用道具 举报
万合天宜 发表于 2014-11-5 22:31
getchar();的用法很多:
一种就是清空回车符,这种情况一般发生在在循环中涉及到输入的情况。
还有一种是 ...

谢谢啊还有没有在仔细详细点得比如字符怎么读取进去再输出的过程
回复 使用道具 举报
那里面的这个方法?
回复 使用道具 举报
Larno 发表于 2014-11-6 18:34
那里面的这个方法?

什么那里面的这个方?什么意思
回复 使用道具 举报
暴君 中级黑马 2014-11-12 19:21:38
7#
getchar()是不是C里面的?get()方法知道,getchar没用过。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马