当前位置: 首页 > news >正文

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')是输入缓冲区的一部分,因此在读取用户输入时需要注意它的存在。

http://www.mrgr.cn/news/93894.html

相关文章:

  • 关于在electron(Nodejs)中使用 Napi 的简单记录
  • 多模态融合的分类、跨模态对齐的方法
  • 练习:关于静态路由,手工汇总,路由黑洞,缺省路由相关
  • vue3 + xlsx 实现导入导出表格,导出动态获取表头和数据
  • Linux 离线部署Ollama和DeepSeek-r1模型
  • 零基础掌握Linux SCP命令:5分钟实现高效文件传输,小白必看!
  • IO学习---->线程
  • QT系列教程(20) Qt 项目视图便捷类
  • 『PostgreSQL』PGSQL备份与还原实操指南
  • 【测试框架篇】单元测试框架pytest(4):assert断言详解
  • 【Linux内核系列】:深入理解缓冲区
  • 《平面几何强化训练题集》第2章5到9题
  • [GHCTF 2025]SQL??? 【sqlite注入】
  • uniapp+Vue3 开发小程序的下载文件功能
  • 选择排序算法OpenMP并行优化
  • 从新手到专家:嵌入式代码空间优化技巧
  • 【组件安装】Rocky 8.10 安装Local License Server 25.03.0 for Linux
  • C/C++中使用CopyFile、CopyFileEx原理、用法、区别及分别在哪些场景使用
  • 从零构建逻辑回归: sklearn 与自定义实现对比
  • [数据结构]并查集--C++版本的实现代码