printf返回值的定义与举例

简介: printf返回值的定义与举例

1. printf返回值的定义

int printf(const char *格式,...);

我们首先看到printf函数的返回值是int类型,也就是有符号整型。

所以printf返回值指的是输出的字符数量单位是字节,一个字符是一个字节,遇到'\0'停止打印,返回'\0'之前的字符个数


2.代码举例

2.1 代码一:输出字母和数字的printf返回值

#include "stdio.h"
 int main()
 {
     int x = printf("123abcdABCD");
     printf("\n");
     printf("%d\n",x);
     return 0;
 }

af3dc6836457425e9ac0252a848a2cfa.png

在这里我们可以看到最后printf返回值是11,我们首先输入了3个数字,8个字母

我们知道  1个数字或1个字母都是1个字节 ,所以一共有11个字节。但是在这里我们要知道

“123abcdABCD”是一个字符串,字符串末尾有个隐藏的'\0',所以返回'\0'之前的字符个数

所以这也论证了我们最开始的定义。

2.2 代码二:输出转义字符

#include "stdio.h"
 int main()
 {
     int x = printf("\t\b\n\r\f\v\123\x2\a\1\23\234\x23");
     printf("\n");
     printf("%d\n",x);
     return 0;
 }


7e668126166b4f2c8d3ec7627fc0925d.png

我们可以看到printf返回值是13,这是为什么呢?

首先要明确一点,转义字符比如\t,\b,\n,\r,\f,\v,\123.....  这些都是占一个字节,也就是说
一个转义字符占一个字节。(具体关于转义字符的分类在我的资源中的第二部,免费下载 )


2.3 代码三:输出汉字

#include "stdio.h"
 int main()
 {
     int x = printf("坚持就会变得简单");
     printf("\n");
     printf("%d\n",x);
     return 0;
 }


在这里我就不给大家答案了,有的编译器显示的是24,一个汉字占3个字节

有的显示的是16,一个汉字占2个字节等等。

下面大家自行测试哦,俗话说:实践出真知!


3.总结

printf函数返回值是输出的字符个数,单位是字节,几个字符几个字节,遇到\0返回\0之前的!

相关文章
|
Java Spring
Java事务&事务失效场景
Java事务&事务失效场景
460 0
|
7月前
|
人工智能 自然语言处理 前端开发
借助 AI Coding 快速打造 AI Agent 系统
本项目构建了基于LangGraph的购物场景生成AI Agent,通过Agent Skills模块化技能、Planner智能规划及A2A+MCP标准化协议,实现从自然语言一键生成结构化场景、智能匹配商品并对接会场搭建。借助AI Coding工具,数天内完成低代码到高扩展架构的跃迁,显著提升运营效率与系统可靠性。
借助 AI Coding 快速打造 AI Agent 系统
|
5月前
|
人工智能 API Docker
OpenClaw容器化部署超全教程:阿里云与本地Docker安装详解及基础设施优化策略
2026年构建自主AI系统的核心,早已不止于大模型的提示词工程——现代AI Agent需要协调多模型、调用外部工具、管理记忆并实现跨环境扩缩容,而Docker作为容器化基础设施的核心,正是实现这一切的关键。它不再是事后打包的辅助工具,而是成为Agent系统的可组合骨架,让模型、工具服务、GPU资源与业务逻辑实现声明式定义、版本化管理与统一栈部署,最终达成从本地开发到云端生产的行为一致性。
837 2
|
5月前
|
人工智能 JSON Shell
AI 电影解说全流程自动化工作流搭建实战:从环境部署到成片输出
内容团队做电影解说的最大瓶颈是流程低效:字幕提取、文案、配音、对齐、合成需频繁切换工具。本文基于 narrator-ai-cli + Whisper + FFmpeg,将全流程自动化封装为可批量调度的脚本,实现从视频输入到成片输出的一键生产。(239字符)
|
缓存 Java 关系型数据库
2025 年最新华为 Java 面试题及答案,全方位打造面试宝典
Java面试高频考点与实践指南(150字摘要) 本文系统梳理了Java面试核心考点,包括Java基础(数据类型、面向对象特性、常用类使用)、并发编程(线程机制、锁原理、并发容器)、JVM(内存模型、GC算法、类加载机制)、Spring框架(IoC/AOP、Bean生命周期、事务管理)、数据库(MySQL引擎、事务隔离、索引优化)及分布式(CAP理论、ID生成、Redis缓存)。同时提供华为级实战代码,涵盖Spring Cloud Alibaba微服务、Sentinel限流、Seata分布式事务,以及完整的D
772 1
|
9月前
|
SQL 数据采集 存储
六、Hive 分桶
在 Hive 的世界里,除了常见的分区,分桶也是一项非常实用的数据优化方式。它能帮助我们将数据按某个字段均匀划分到多个“桶”中,不仅能提升大表连接的效率,还特别适合做数据抽样和精细管理。本文将带你一步步了解分桶表的创建方法、数据加载过程和常见应用场景,配有丰富示例和练习题,帮助你在实战中轻松掌握这项技能。
730 7
|
9月前
|
人工智能 数据可视化 BI
n8n 与 Coze 怎么选?低代码集成与AI智能体的自动化路线对比
本文对比了n8n和Coze两款自动化工具。n8n开源灵活,适合技术人员处理复杂系统集成和自定义逻辑;Coze无代码易上手,便于业务人员快速搭建审批等标准流程。实际应用中,可根据团队角色和流程复杂度选择,或混合使用以形成完整的自动化闭环。
|
负载均衡 算法 安全
硬件负载均衡和软件负载均衡有什么区别?
硬件负载均衡和软件负载均衡有什么区别?
784 127
|
11月前
|
设计模式 消息中间件 算法
现货期权交易所开发模块化设计模式
现货期权交易所模块化设计通过解耦核心系统,构建契约化接口与清晰边界,提升迭代效率与容错能力。涵盖行情、撮合、风控等模块,支持独立部署、灰度发布与跨团队协同,降低开发成本,增强可扩展性与可观测性,助力高并发场景下的稳定运行与快速响应。
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML和CSS之旅
【9月更文挑战第32天】在这个数字化的时代,拥有一个个人博客不仅是展示自我的平台,也是技术交流的桥梁。本文将引导初学者理解并实现一个简单的个人博客网站的搭建,涵盖HTML的基础结构、CSS样式的美化技巧以及如何将两者结合来制作一个完整的网页。通过这篇文章,你将学会如何从零开始构建自己的网络空间,并在互联网世界留下你的足迹。