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 Go
Java vs. Go:并发之争
【4月更文挑战第20天】
1281 1
|
Java Spring
Java事务&事务失效场景
Java事务&事务失效场景
501 0
|
9月前
|
人工智能 自然语言处理 前端开发
借助 AI Coding 快速打造 AI Agent 系统
本项目构建了基于LangGraph的购物场景生成AI Agent,通过Agent Skills模块化技能、Planner智能规划及A2A+MCP标准化协议,实现从自然语言一键生成结构化场景、智能匹配商品并对接会场搭建。借助AI Coding工具,数天内完成低代码到高扩展架构的跃迁,显著提升运营效率与系统可靠性。
借助 AI Coding 快速打造 AI Agent 系统
|
4月前
|
数据采集 人工智能 自然语言处理
跨境代购中小卖家生存法则 + 淘宝代购系统降本增效完整方案
本方案为跨境代购中小卖家量身打造,提炼五大生存法则:轻资产纯代采、数字化服务突围、严控成本、合规风控、垂直深耕。配套淘宝代购系统,实现采购、集运、仓储、财务、营销全链路自动化,降本增效,助力稳定盈利。(239字)
|
负载均衡 算法 安全
硬件负载均衡和软件负载均衡有什么区别?
硬件负载均衡和软件负载均衡有什么区别?
847 127
|
6月前
|
监控 NoSQL API
使用ASMGlobalRateLimiter实现基于调用来源和请求路径的精细化全局限流
本文介绍在阿里云ASM服务网格中,结合Lua Filter与ASMGlobalRateLimiter,基于调用方Service Account身份和API路径实现多维度精细化全局限流,满足不同客户端访问同一服务不同接口需差异化配额的业务需求。(239字)
|
7月前
|
人工智能 API Docker
OpenClaw容器化部署超全教程:阿里云与本地Docker安装详解及基础设施优化策略
2026年构建自主AI系统的核心,早已不止于大模型的提示词工程——现代AI Agent需要协调多模型、调用外部工具、管理记忆并实现跨环境扩缩容,而Docker作为容器化基础设施的核心,正是实现这一切的关键。它不再是事后打包的辅助工具,而是成为Agent系统的可组合骨架,让模型、工具服务、GPU资源与业务逻辑实现声明式定义、版本化管理与统一栈部署,最终达成从本地开发到云端生产的行为一致性。
974 2
|
7月前
|
人工智能 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
889 1
|
11月前
|
人工智能 数据可视化 BI
n8n 与 Coze 怎么选?低代码集成与AI智能体的自动化路线对比
本文对比了n8n和Coze两款自动化工具。n8n开源灵活,适合技术人员处理复杂系统集成和自定义逻辑;Coze无代码易上手,便于业务人员快速搭建审批等标准流程。实际应用中,可根据团队角色和流程复杂度选择,或混合使用以形成完整的自动化闭环。

热门文章

最新文章