getchar()
是 C 语言中的一个标准库函数,用于 从标准输入(通常是键盘)读取单个字符 。它的原型如下:
int getchar(void);
该函数不接受任何参数,返回读取到的字符的 ASCII 值。如果到达文件末尾(EOF),则返回 EOF 常量(通常为 -1)。如果发生错误,则返回一个负值。
用法示例
以下是一个简单的示例,展示了如何使用 getchar()
函数:
#include <stdio.h>
int main() {
char c;
printf("请输入一个字符: ");
c = getchar();
putchar(c);
putchar('\n');
return 0;
}
在这个示例中,程序会提示用户输入一个字符,然后使用 getchar()
读取该字符,并使用 putchar()
将其输出到屏幕上。
注意事项
-
getchar()
函数每次调用时,会从标准输入流中读取下一个字符。如果之前已经读取了字符,那么后续的调用会直接从缓冲区中读取,而不需要用户再次输入。 -
getchar()
函数的返回值是int
类型,因此可以将读取到的字符转换为其他类型(如char
)进行进一步处理,但需要注意处理 EOF 的情况。
错误处理
当 getchar()
读取到文件末尾或发生错误时,它会返回 EOF 常量(-1)。因此,在处理 getchar()
的返回值时,通常需要检查其是否等于 -1,以确定是否已经到达文件末尾或发生了错误。
缓冲区
为了提高读取效率,getchar()
函数使用了一个缓冲区来存储从标准输入读取的字符。当缓冲区为空时,getchar()
会从标准输入读取新的字符并填充缓冲区。这种缓冲机制可以减少对标准输入的频繁读取,从而提高程序的性能。