嵌入式 C语言 输入、输出 学习笔记
输入函数scanf()、getchar()、fgets()输出函数printf()、putchar()、puts()输入scanf()功能scanf()用于从标准输入通常是键盘中读取格式化的数据。原型int scanf(const char *format, ...)参数format格式控制字符串用来指定输入的数据类型。格式符类似于printf()如%d整型%f浮点型%s字符串等。scanf函数用于从标准输入读取数据%d用于读取整数%s用于读取字符串%c用于读取字符%f用于读取浮点数其他参数是指向变量的指针用来存储从输入中读取的数据。示例int a;float b;scanf(%d %f, a, b); //读取一个整数和一个浮点数返回值返回成功读取的项数即成功匹配的格式说明符的个数如果出现输入错误或达到文件结束则返回负值。注意事项scanf可能会跳过空白符空格、换行、制表符等而不处理输入缓冲区中残留的数据。scanf的输入非常严格如果输入的格式与预期的格式不匹配可能会导致读取失败。getchar()功能getchar()用于从标准输入读取一个字符。原型int getchar(void)参数无参数。示例char ch;ch getchar();//读取单个字符返回值返回读取的字符以int形式返回。如果到达文件结束或发生错误则返回EOF通常定义为-1。注意事项getchar()读取的是缓冲区的第一个字符因此它可能会阻塞等待用户输入直到输入换行符后才能读取下一个字符。通常需要与循环结合来逐字符读取输入。fgets()功能用于从输入流读取字符串的函数。相对于gets()fgets()更安全因为它允许指定读取的最大字符数从而避免了缓冲区溢出的问题。因此fgets()是推荐使用的字符串输入函数。原型char *fgets(char *str, int n, FILE *stream);参数str指向字符数组的指针用于存储读取到的字符串。n要读取的最大字符数包括终止符\0。函数最多读取n-1个字符最后一个位置留给字符串终止符\0。stream输入流。通常为标准输入stdin但可以是任何文件流。返回值返回值是指向str的指针表示成功读取的数据。如果在读取过程中遇到文件结束符EOF或发生错误返回NULL。注意事项fgets()会在读取到换行符、读取到n-1个字符或者遇到文件结束符EOF时停止读取。换行符\n会被作为字符串的一部分存储在str中如果读取到的话并在字符串末尾自动添加终止符\0。输出printf()功能printf()用于向标准输出通常是屏幕打印格式化的文本。原型int printf(const char *format, ...)参数format格式控制字符串指定如何格式化输出。常见的格式符有%d整型%f浮点数%s字符串等。其他参数是需要打印的变量。示例int a 5;float b 3.14;printf(a %d, b %.2f\n, a, b);//输出a 5, b 3.14返回值返回成功打印的字符数。如果输出发生错误返回负值。注意事项printf非常灵活可以打印各种类型的数据。需要确保格式控制符和变量类型匹配否则会引发不正确的输出。putchar()功能putchar()用于向标准输出打印一个字符。原型int putchar(int char)参数char要打印的字符传递的字符以int形式表示但其值应是可表示为unsigned char的整数。示例putchar(A);//输出字符‘A’返回值返回输出的字符作为unsigned char类型转换为int返回。如果发生错误返回EOF。注意事项putchar()常用于逐个字符的输出例如打印字符数组中的内容。puts()功能puts()用于向标准输出打印一个字符串并在输出后自动添加换行符。原型int puts(const char *str)参数str要打印的字符串指针。示例puts(Hello, world!);//输出字符串并换行返回值成功时返回一个非负值失败时返回EOF。注意事项puts()在打印结束后自动添加换行符不需要手动加\n。适合用于简单的字符串输出。

相关新闻

MLP多层感知机在Matlab中的多变量回归预测实践

MLP多层感知机在Matlab中的多变量回归预测实践

MLP多层感知机多变量回归预测(Matlab) ;所有程序经过验证,保证可以运行。 1.data为数据集,7个输入特征,1个输出特征。 2.MainMLPR.m为主程序文件。 3.命令窗口输出MAE和R2,在机器学习领域&#…

2026/5/17 11:08:30 阅读更多 →
postgresql timestamp类型字段,时间加3个小时

postgresql timestamp类型字段,时间加3个小时

在 PostgreSQL 中,对 TIMESTAMP 类型字段加 3 小时非常简单,核心是使用 INTERVAL 关键字。以下是详细用法和注意事项:---## ✅ 核心语法PostgreSQL 支持直接对时间类型进行算术运算。sql -- 基本写法 字段名 INTERVAL 3 hours-- 简写写法 字…

2026/7/7 1:48:05 阅读更多 →
【学习】学习使用Qoder skill功能

【学习】学习使用Qoder skill功能

原文章链接: Qoder全面支持Skills了,我手搓了一个「面试官Skill」-技术派

2026/7/7 2:11:53 阅读更多 →

最新新闻

终极实战指南:深度解析GAIA-DataSet AIOps数据集架构与应用

终极实战指南:深度解析GAIA-DataSet AIOps数据集架构与应用

终极实战指南:深度解析GAIA-DataSet AIOps数据集架构与应用 【免费下载链接】GAIA-DataSet GAIA, with the full name Generic AIOps Atlas, is an overall dataset for analyzing operation problems such as anomaly detection, log analysis, fault localization…

2026/7/7 20:29:11 阅读更多 →
MeterSphere API测试终极指南:从核心概念到实战场景编排

MeterSphere API测试终极指南:从核心概念到实战场景编排

1. 项目概述:为什么你需要这份“终极指南”?如果你正在寻找一个能打通API测试、管理和性能压测全流程的开源平台,MeterSphere这个名字大概率已经出现在你的视野里了。作为一个在测试领域摸爬滚打了十多年的老鸟,我见过太多团队在A…

2026/7/7 20:29:11 阅读更多 →
Playwright与MCP协议结合:用自然语言驱动浏览器自动化测试

Playwright与MCP协议结合:用自然语言驱动浏览器自动化测试

1. 项目概述:当Playwright遇上MCP,测试自动化迎来“对话式”革命 如果你是一名前端开发者、测试工程师,或者任何需要和浏览器打交道的技术人,最近一定被两个词刷屏了: Playwright 和 MCP 。前者是微软开源的现代浏…

2026/7/7 20:25:09 阅读更多 →
Switch游戏机畅享B站:wiliwili第三方客户端终极使用指南

Switch游戏机畅享B站:wiliwili第三方客户端终极使用指南

Switch游戏机畅享B站:wiliwili第三方客户端终极使用指南 【免费下载链接】wiliwili 第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili 你是否曾经想…

2026/7/7 20:23:08 阅读更多 →
从真实案例剖析SQL注入与XSS攻击:防御实战与靶场演练

从真实案例剖析SQL注入与XSS攻击:防御实战与靶场演练

1. 项目概述:从真实案例看Web安全的两大“顽疾”干了这么多年安全开发和渗透测试,我见过太多因为SQL注入和XSS(跨站脚本攻击)导致的数据泄露、网站被黑甚至公司倒闭的案例。很多开发者,尤其是刚入行的朋友,…

2026/7/7 20:21:08 阅读更多 →
构建高效自动化渗透测试体系:从架构设计到工程实践

构建高效自动化渗透测试体系:从架构设计到工程实践

1. 项目概述与核心理念在安全行业摸爬滚打八年,尤其是在一线攻防对抗和内部安全建设里泡了这么久,我越来越深刻地感受到一个趋势:单靠“人肉”堆砌的渗透测试,无论是效率、覆盖面还是持续性,都已经跟不上现代企业资产膨…

2026/7/7 20:19:07 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻