`getchar` 是 C 语言中的一个标准库函数,用于从标准输入(通常是键盘)读取一个字符。它的基本用法如下:
基本用法
```c
include
int main() {
char ch;
printf("Please enter a character: ");
ch = getchar();
printf("You entered: %c\n", ch);
return 0;
}
```
在这个例子中,程序首先输出提示信息,然后使用 `getchar` 函数读取用户输入的字符,并将其存储在变量 `ch` 中。最后,程序输出用户输入的字符。
从键盘缓冲区读取字符
`getchar` 函数会从键盘缓冲区中读取一个字符。如果缓冲区中有多个字符,`getchar` 会读取并返回第一个字符,直到遇到换行符(`\n`)或文件结束(EOF)。
等待用户按键
`getchar` 函数会等待用户按下回车键,然后读取并返回缓冲区中的字符。如果用户在按回车之前输入了多个字符,这些字符会保留在缓冲区中,等待后续的 `getchar` 调用读取。
返回值
`getchar` 函数的返回值是用户输入的字符的 ASCII 码。如果文件结尾(EOF),则返回 -1。
示例:读取多个字符
```c
include
int main() {
char ch;
printf("Enter multiple characters: ");
while ((ch = getchar()) != '\n') {
printf("%c", ch);
}
printf("\n");
return 0;
}
```
在这个例子中,程序会不断读取用户输入的字符,直到用户按下回车键为止。
结束程序
可以在程序结尾使用 `getchar()` 函数来等待用户按下键盘,以便在调试运行结束后才返回编辑界面。
```c
include
int main() {
// ... 其他代码 ...
getchar(); // 等待用户按下键盘
return 0;
}
```
总结
`getchar` 函数是一个简单且常用的方法,用于逐个字符地读取用户输入。它在读取字符时会等待用户按下回车键,并且会读取缓冲区中的所有字符,直到遇到换行符或文件结束。通过循环调用 `getchar`,可以读取多个字符。