美文网首页
printf函数的返回值

printf函数的返回值

作者: 胖一一 | 来源:发表于2019-02-26 20:26 被阅读0次

先看下面一段程序:

#include <stdio.h>



int main()

{

int i = 123;

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

return 0;



}

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

本程序在VC 6.0上编译,程序的实际运行结果是:

image

对于这个运行结果,你怎么看?
我们来一步步分解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.

相关文章

  • printf函数的返回值

    先看下面一段程序: printf函数里面又嵌入了printf函数,你认为此段程序会打印出什么? 本程序在VC 6....

  • C04

    库函数:(系统提供好的函数,例如printf) 自定义函数(开发者自己写的函数) 自定义函数:返回值类型、函数名、...

  • 4.3 查找和设置挂载卷

    说明 出现了很多问题,第一次执行时直接程序崩溃,原因是printf函数中将GetLastError函数的返回值设置...

  • 9.1 函数:scanf&printf函数返回值

    scanf函数的返回值分为三种情况:【1】正整数:表示正确输入参数的个数,例如 如果用户输入"3 4",可以正确输...

  • C语言格式化输入输出

    本文主要介绍一下C语言中printf和scanf两个函数。 printf函数 printf函数被设...

  • 01文件IO之printf函数

    1 printf干了些什么 2write函数 3 printf函数调用过程 1printf 是 C 语言库函数,它...

  • C 关于printf scanf的返回值的问题思考

    printf返回值的思考 其输出结果为 过程:printf先将43打印出来,然后最右边的printf返回2,对应第...

  • C语言基础知识:printf的输出格式,C/C++语言编程讲解

    C语言基础知识:printf的输出格式 printf()函数是格式输出函数,请求printf()打印变量的指令取决...

  • 可变参函数

    例如可变参函数printf的函数原型/函数声明为:int printf(char *fmt, ...);其中参数表...

  • 格式化字符串漏洞利用

    printf函数中的漏洞printf函数族是一个在C编程中比较常用的函数族。通常来说,我们会使用printf([格...

网友评论

      本文标题:printf函数的返回值

      本文链接:https://www.haomeiwen.com/subject/qbbzyqtx.html