getchar和putchar有什么区别
时间: 2025-05-19 07:59:03 浏览: 33
`getchar()` 和 `putchar()` 是 C 语言标准库 `<stdio.h>` 中用于字符输入输出的两个函数,它们的功能正好相反。
### **1. `getchar()`:**
- 功能:从标准输入设备(通常是键盘)读取单个字符,并将其作为整数返回(实际上是该字符对应的 ASCII 码值)。如果遇到文件结束符,则返回 EOF。
- 特点:
- 每次只能读取一个字符。
- 需要用户按下回车键才能确认输入内容。
- 返回的是 int 类型,而不是 char 类型,这是为了能够区分正常字符和特殊值 EOF (End Of File)。
**示例代码:**
```c
#include <stdio.h>
int main(){
printf("请输入一个字符:");
int ch = getchar(); // 获取输入的一个字符
printf("您输入的字符是:%c\n", ch);
}
```
---
### **2. `putchar()`:**
- 功能:向标准输出设备(通常是屏幕)打印单个字符。它接受一个 int 参数并输出对应字符(实际上只使用低八位),然后返回这个相同的值。
- 特点:
- 输出结果是一个单独显示出来的字符。
- 可直接将变量传递给 putchar 进行输出操作。
**示例代码:**
```c
#include <stdio.h>
int main(){
putchar('A'); // 显示字母 A 到屏幕上
putchar('\n'); // 打印换行符以便下一行开始
return 0;
}
```
---
### **两者的对比总结**
| 属性 | `getchar()` | `putchar()` |
|--------------|------------------------------------|-------------------------------|
| 主要作用 | 输入 | 输出 |
| 数据流向 | 标准输入 -> 内存 | 内存 -> 标准输出 |
| 接受参数类型 | 无 | int |
| 返回值类型 | int | int |
通过上述可以看出,这两个函数分别实现了最基础也最常见的 I/O 动作——获取用户的敲击按键动作以及反馈信息到显示器上。
阅读全文
相关推荐


















