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

相关文章
实现 fizzBuzz 函数,参数 num 与返回值的关系如下
实现 fizzBuzz 函数,参数 num 与返回值的关系如下
|
5月前
|
语音技术
语音识别----函数基础定义联系案例,函数的参数,函数的参数练习案例,函数的返回值定义语法,函数返回值之None,函数的说明文档,函数的嵌套调用,变量在函数中的作用域,内部变量变全局变量用global
语音识别----函数基础定义联系案例,函数的参数,函数的参数练习案例,函数的返回值定义语法,函数返回值之None,函数的说明文档,函数的嵌套调用,变量在函数中的作用域,内部变量变全局变量用global
定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
|
7月前
printf函数的返回值
printf函数的返回值
40 0
|
7月前
|
存储 C语言
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
78 0
下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。
下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。
|
存储
关于char类型数组的两种输出方法
关于char类型数组的两种输出方法
470 0
|
C++ Windows
VS2019错误:_main已经在.obj中定义,找到一个或多个重定义符号
VS2019错误:_main已经在.obj中定义,找到一个或多个重定义符号
2090 0
【C++】 --- 如果同时定义了两个函数,一个带const,一个不带,会有问题吗?
【C++】 --- 如果同时定义了两个函数,一个带const,一个不带,会有问题吗?
147 0
|
C语言 C++
转换符说明使用方法(在printf函数中)
一些常见的转换说明及打印结果: printf()的转换说明修饰符 printf()函数打印数据指令时要与代打印数据的类型相匹配才行。 如%d %c %ld......这些符号叫做转换说明。代表着数据转化成显示的形式。 一些常见的转换说明及打印结果: 转换说明 输出 %d 有符号十进制整数 %c 单个字符 %A 浮点数,十六进制数和p计数法(c99/c11) %a 浮点数,十六进制数和p计数法(c99/c11) %f 浮点数,十进制计数法 %e 浮点数,e计数法 %E 浮点数,e计数法 %i 有符号十进制整数 %o 无符号八进制整数 %p 指针(地址) %s 字符串 %u 无符号十进制整数
169 1