这篇文章帮你搞定C语言中printf的返回值

简介: 这篇文章帮你搞定C语言中printf的返回值

你是否了解C语言中printf函数的返回值?不知道的话下面这一篇小短文可以帮你解决printf的一些你不知道的点。


1.直接上代码


#include<stdio.h>
int main()
{
    int i = 123;
    printf("%d", printf("%d", printf("%d", i)));
    return 0;
}


输出:

c3e619a2a747dbc986fcc4b43104a09b.png


对于这个运行结果,你怎么看?


我们来一步步分解printf函数,看看为啥会输出这个结果。


程序中的print函数是这样写的:printf("%d\n",printf("%d",printf("%d",i)));


一共有三个printf函数,我们可以使用一些代号来简化这个printf函数,如下:


代号A: printf("%d",printf("%d",i));


代号B: printf("%d",i)


则程序代码可以简化为:printf("%d\n",A); 那么我们就先来求A。


而A,又可以简化为:printf("%d",B);那么我们就先来求B。


B是 printf("%d",i),打印出“123”,即在运行结果中,你最先看到的是123。printf函数的返回值是printf实际控制输出的字符数,那么打印的123 就是3个字符,因此printf("%d",i)返回的就是3,也就是B是3,那么,A就可以写为printf("%d",printf("%d",3));打印出3,即在运行结果中,你紧接着会看到3。而打印出的3是1个字符,因此A就是1,那么printf("%d\n",A); 实际上就是printf("%d\n",1); 打印出1,即在运行结果中,你最后看到的就是1.


相关文章
|
1月前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
171 0
|
1月前
13.C语言:用printf函数输出数据
13.C语言:用printf函数输出数据
26 0
|
7月前
|
C语言
一篇文章让你看懂C语言字符函数和内存函数(上)
一篇文章让你看懂C语言字符函数和内存函数(上)
|
6天前
|
存储 C语言
C语言函数的返回值
C语言函数的返回值
7 0
|
7天前
|
C语言
深入理解C语言中的printf函数及数据输出
深入理解C语言中的printf函数及数据输出
13 0
|
20天前
|
编译器 C语言 C++
C语言printf的输出格式大全及颜色字体打印
C语言printf的输出格式大全及颜色字体打印
25 0
|
23天前
|
存储 搜索推荐 编译器
【C语言】一篇文章深入解析联合体和枚举且和结构体的区别
【C语言】一篇文章深入解析联合体和枚举且和结构体的区别
|
26天前
|
存储 程序员 编译器
【C语言第二回】main、printf和库函数
【C语言第二回】main、printf和库函数
|
1月前
|
C语言
在C语言中函数的返回值及其应用示例
在C语言中函数的返回值及其应用示例
19 2
|
5月前
|
C语言
C语言---函数---知识点总结(三)------函数的返回值类型
C语言---函数---知识点总结(三)------函数的返回值类型