getchar的用法


getchar 由宏实现:#define getchar()

getchar(stdin)语句功能:getchar有一个int型的返回值,当程序调用getchar时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。

当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符,getchar函数的返回值是用户输入的第一个字符的ASCII码。

如出错返回-1,且将用户输入的字符回显到屏幕,如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。

也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。
示例:

#include<stdio.h>

void main()

{

char c;//定义一个字符

printf("input a character\n");

c=getchar();  //从键盘获取一个字符

putchar(c);//输出字符

}

补充再说一下,也是重点:
直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。划重点!!!getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾(End-Of-File)则返回-1(EOF),且将用户输入的字符回显到屏幕。

转载于:https://zhidao.baidu.com/question/16706880.html的热心网友回答

最后附上一张今天学习用到的ASCII码表,如下:

图片摘自百度百科:https://baike.baidu.com/item/ASCII/309296?fromtitle=ascii码表&fromid=19660475&fr=aladdin


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM