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 与返回值的关系如下
|
7月前
|
语音技术
语音识别----函数基础定义联系案例,函数的参数,函数的参数练习案例,函数的返回值定义语法,函数返回值之None,函数的说明文档,函数的嵌套调用,变量在函数中的作用域,内部变量变全局变量用global
语音识别----函数基础定义联系案例,函数的参数,函数的参数练习案例,函数的返回值定义语法,函数返回值之None,函数的说明文档,函数的嵌套调用,变量在函数中的作用域,内部变量变全局变量用global
|
9月前
printf函数的返回值
printf函数的返回值
49 0
|
9月前
|
存储 C语言
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
85 0
|
存储
关于char类型数组的两种输出方法
关于char类型数组的两种输出方法
494 0
编写一个程序,初始化一个double类型的数组,然后把该数组的内容拷贝至3个其他数组中(在main()中声明这4个数组)。
编写一个程序,初始化一个double类型的数组,然后把该数组的内容拷贝至3个其他数组中(在main()中声明这4个数组)。
【C++】 --- 如果同时定义了两个函数,一个带const,一个不带,会有问题吗?
【C++】 --- 如果同时定义了两个函数,一个带const,一个不带,会有问题吗?
151 0
|
XML C语言 数据格式
C基础——使用printf打印各种数据类型的方式(示例)
C基础——使用printf打印各种数据类型的方式(示例)
867 0
C基础——使用printf打印各种数据类型的方式(示例)
printf 函数的返回值问题
printf 函数的返回值问题
129 0
printf 函数的返回值问题
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
176 0
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))