c语言笔记 getchar
getchar 的工作原理
getchar() 是一个标准输入函数,它从输入缓冲区中读取一个字符。具体来说:
- 如果输入缓冲区中没有数据,
getchar() 会等待用户输入。
- 当用户按下回车键时,输入缓冲区中的所有字符(包括回车'\n')都会被提交。
- getchar() 会从缓冲区中取走第一个字符,并将其返回。
- 剩余的字符会留在输入缓冲区中,等待下一次 getchar() 调用。
示例代码
以下是一个简单的示例
#include <stdio.h>int main() {char c;printf("请输入一个字符:");c = getchar();if (c == '\n') {printf("你直接按了回车键!\n");} else {printf("你输入的字符是:%c\n", c);}return 0;
}
输入和输出示例
输入:
AB
输出:
请输入两个字符: 你输入的两个字符是:A 和 B
处理换行符当你按下回车键时,输入缓冲区中会包含一个换行符('\n')。
#include <stdio.h>int main() {char c;printf("请输入一个字符:");c = getchar();if (c == '\n') {printf("你直接按了回车键!\n");} else {printf("你输入的字符是:%c\n", c);}return 0;
}
输入和输出示例
输入:(直接按下回车键)
输出: 请输入一个字符:
你直接按了回车键!
注意事项
- getchar()每次只会读取一个字符。
- 如果输入缓冲区中没有数据,getchar() 会等待用户输入。
- 换行符('\n')是输入缓冲区的一部分,因此在读取用户输入时需要注意它的存在。