您的位置 首页 > 娱乐休闲

C语言的printf()函数返回值知多少

版权声明:本文为作者原创文章,在头条号非首发,转载时请注明文章来源,否则视为侵权!

欢迎评论讨论技术!

先看下面一段C程序:

#include <;

int main()

{

int i = 123;

printf("%d\n",printf("%d",printf("%d",i)));

return 0;

}

printf函数里面又嵌入了printf函数,你认为此段程序会打印出什么?

C程序的实际运行结果是:

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

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

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

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

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

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

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

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

B是 printf("%d",i),打印出“123”,即在C语言运行结果中,你最先看到的是123。C语言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.

本C程序在VC6.0上运行!

欢迎关注本头条号,以及本人微博号:“C语言编程技术分享”

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“vc6.0如何运行程序,vc6.0无法运行程序是怎么回事,vc6.0怎么运行c++程序,vc6.0的程序可以在vs2010运行吗”边界阅读