多语言展示
当前在线:1772今日阅读:195今日分享:14

getchar的用法

getchar的用法
方法/步骤
1

当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。getchar可以从缓冲区读走一个字符,相当于清除缓冲区 。如下图敲回车直接结束程序。

2

其实getchar()的括号中不可以加一个变量,如getchar(a);是错误的。只能将getchar接受到的字符值返回给一个变量如a=getchar();,这样其功能和scanf('%c',&a);语句的功能一样。常用于字符串中单个字符或字符变量的输入函数。

注意事项
1

对于你输入的任何数据,getchar() 都会把它们当作是字符来处理,而且每次只获取一个字符。例如你输入“11”,getchar() 并不会把它当做“11”来处理,而是把它当做两个‘1’来处理。同理,你输入“3.14”它也不会当成“3.14”来处理而是当做‘3’、‘.’、‘1’、‘4’来处理,需要特别说明的是,像是换行符(\n)、回车符\归位符(\r)、缩进符(\t)之类的转义字符,它们虽然在代码中的表示和我们平时说明中用的是两个字符。但实际上它们在机器中存储和还是以一个字符来存储。所以别想着你敲个回车它能给你输入‘/’和‘n’。我们表示是这么表示,但在机器内部它就还是一个字符而已。

2

getchar()函数是会阻塞等待的。在程序调用getchar()函数的时候如果缓存区中没有数据的话,getchar()函数便会阻塞等待用户的输入。

3

用getchar()的返回值做判断的时候,需要考虑到是否存储保留的问题。无论你是否接收getchar()的返回值,只要你调用了getchar(),那么缓存区中就会被读取走一个字符。

推荐信息