
C语言中的putchar和getchar函数用法
在C语言中,putchar和getchar是两个用于字符输入输出的标准库函数。它们分别定义在<stdio.h>头文件中,并且操作的是单个字符。下面详细介绍这两个函数的用法及其示例代码。
1. putchar 函数
功能: 将一个字符输出到标准输出设备(通常是屏幕)。
原型:
int putchar(int char);参数:
- char: 要输出的字符。尽管这个参数是int类型,但只有低8位会被使用,表示一个ASCII字符。
返回值: 成功时返回输出的字符(以无符号字符强制转换为unsigned char后再提升为int),失败时返回EOF(通常为-1)。
示例:
#include <stdio.h> int main() { char c = 'A'; putchar(c); // 输出: A putchar('\n'); // 换行 return 0; }2. getchar 函数
功能: 从标准输入设备(通常是键盘)读取一个字符。
原型:
int getchar(void);参数: 无。
返回值: 成功时返回读取的字符(作为无符号字符强制转换为int),遇到文件结束符或读取错误时返回EOF(通常为-1)。
示例:
#include <stdio.h> int main() { char c; printf("Please enter a character: "); c = getchar(); // 等待用户输入一个字符并按下回车 printf("You entered: %c\n", c); return 0; }注意:
- getchar会在用户按下回车键后才返回输入的字符。这意味着如果程序只需要读取一个字符,而用户输入了多个字符,剩余的字符会留在输入缓冲区中,可能会被后续的getchar调用或其他输入函数读取。
- 可以使用循环来连续读取多个字符直到遇到特定的终止条件(如换行符或EOF)。
综合示例:回显程序
以下是一个简单的回显程序,它读取用户输入的字符并将其原样输出到屏幕上,直到用户输入换行符为止:
#include <stdio.h> int main() { int c; printf("Enter characters (press Enter to stop):\n"); while ((c = getchar()) != '\n' && c != EOF) { putchar(c); } if (c == '\n') { printf("\n"); // 在用户按下回车后换行 } return 0; }在这个程序中,getchar用于从标准输入读取字符,而putchar则用于将这些字符输出到标准输出。当用户输入换行符时,循环停止,程序也随之结束。
通过理解并使用putchar和getchar,你可以方便地进行基本的字符输入输出操作,这对于学习更复杂的I/O操作和编写交互式程序非常有帮助。
