【printf的返回值】碰到一段有意思的代码:
#include
int main()
{
int i=43;
printf("%d\n",printf("%d",printf("%d",i)));
return 0;
}
这段代码用了几个printf函数,但是输出的值很有意思
文章图片
为什么会是4321呢?
首先调用第一个printf输出43,然后第二个printf输出2,第三个printf输出1并且换行。
查阅资料发现printf是有返回值的,返回值是输出的长度。
首先第一个printf输出43,返回输出的长度‘2’。
第二个printf输出2,返回输出的长度‘1’。
最后输出1.
推荐阅读
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- 【C】题目|【C语言】题集 of ⑥
- 单片机|自学单片机好找工作吗(会单片机能找什么工作?)
- 单片机|keil把源代码生成lib的方法
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- c语言|C语言初期学习遇到的特殊点 【三子棋详解】【初学者福音,详细总结,复习能手】
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- 个人理解|【C语言基础之类型转换】
- c语言|【C语言】自定义类型 结构体 枚举 联合
- 学习分享|【C语言函数基础】