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之前的!

相关文章
|
网络协议 Linux 网络架构
【Cisco Packet Tracer】验证IP数据包的分组与转发流程
【Cisco Packet Tracer】验证IP数据包的分组与转发流程
302 0
|
Ubuntu 调度 Docker
2024.3.21隐语训练营第4讲笔记:SecretFlow & SecretNote安装部署
本文介绍了SecretFlow和SecretNote的安装和部署
724 3
|
5月前
|
消息中间件 NoSQL Unix
Redis的基本特性以及其基础命令用法
这只是冰山一角,Redis的强大功能和简洁的操作方法值得我们深入了解和掌握,是复杂数据问题解决的有力工具。所以,来一场有趣的Redis冒险吧!
173 6
|
7月前
|
机器学习/深度学习 运维 自然语言处理
大模型技术在安全威胁检测中的应用:从传统到未来的跃升
大模型技术在安全威胁检测中的应用:从传统到未来的跃升
571 1
大模型技术在安全威胁检测中的应用:从传统到未来的跃升
|
C语言
C语言---函数---知识点总结(三)------函数的返回值类型
C语言---函数---知识点总结(三)------函数的返回值类型
|
Web App开发 安全 测试技术
自动化测试中的Python魔法:使用Selenium和pytest框架
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试是确保航行安全的灯塔。本文将带你探索如何利用Python语言结合Selenium和pytest框架,搭建一套高效的自动化测试体系。我们将从基础设置讲起,逐步深入到编写测试用例,最后通过一个实战案例来展示如何在实际项目中运用这些工具。文章旨在为读者提供一套清晰的自动化测试解决方案,让你的开发之旅更加顺畅。
1490 0
|
机器学习/深度学习 存储 算法
【文献学习】Deep Complex Networks
本文深入探讨了深度复数网络(Deep Complex Networks),包括其创新点、复数的优势、作者贡献,以及深度复数技术的具体应用,如复数卷积、激活函数、Batch-Normalization、权重初始化和卷积残差网络,并提出了对文中一些复杂概念的疑问和反思。
411 0
|
存储 Java
elasticsearch 如果按照日期进行筛选
如果你需要按照日期进行筛选,你可以使用 Elasticsearch 的范围查询来实现。以下是一个示例代码,演示如何在 Java 中进行日期范围查询: ```java import org.apache.http.HttpHost; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.Req
466 7
|
人工智能 NoSQL atlas
MongoDB推出四项AI驱动的新功能,助力开发者提升效率并加速应用程序现代化
生成式人工智能让开发者有机会构建更好的应用程序。通过自动执行重复性任务,由AI驱动的工具和功能可以帮助开发者节省大量时间和精力,同时更快地交付更高质量的应用程序
MongoDB推出四项AI驱动的新功能,助力开发者提升效率并加速应用程序现代化
|
传感器 机器学习/深度学习 自然语言处理
ICRA 2022最佳论文出炉:美团无人机团队获唯一最佳导航论文奖
ICRA 2022最佳论文出炉:美团无人机团队获唯一最佳导航论文奖
284 0