精华内容
下载资源
问答
  • printf函数返回值
    2021-05-21 04:19:23

    先看下面一段程序:

    #include

    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函数返回值

    2015-08-26 10:39:25
    printf函数返回值
  • 关于printf返回值简单认识

    写这篇文章受牛客网编程语言初学训练营里的第九题有感而写,当作自己的复习博客。

    初学C语言时用的最多的函数就是printf函数,而printf函数的返回值是被大多数人忽略的。

    ​
    ​
    #define _CRT_SECURE_NO_WARNINGS 1
    # include <stdio.h>
    int main()
    {
        int a = printf("Hello world!\n"); 
        printf("%d", a);
        return 0;
    }
    
    ​
    
    ​

    不知道大家第一反应是否与我一样,写出这样的代码

    但是这一串代码中  \n 会使得下列代码中printf的返回值多加一,应该单独换行。

    #define _CRT_SECURE_NO_WARNINGS 1
    # include <stdio.h>
    int main()
    {
        int a = printf("Hello world!"); //注意此处不能加\n,因为这样会导致Printf的返回值中加一,应该单独换行
        printf("\n");
        printf("%d", a);
        return 0;
    }

    接下来,让我们详细的认识一下printf的返回值。

    #include<stdio.h>
    int main()
    {
    int a = 106;
    printf("%d", a);
    printf("\n");
     printf("%d", printf("%d", a));
     printf("\n");
     printf("%d", printf("%d", printf("%d", a)));
     printf("\n");
     
      return 0; 
    }

      int a = 106;
      printf("%d", a);

    第一个106输出结果想必大家都知道,一个简单的printf函数的使用; 

    再看下面的代码

     printf("%d", printf("%d", a));

    里面的一个printf执行之后,仍是输出a的值106,执行外面的一个printf则是输出"printf("%d",a)“的值,在结果中对应的是"3”

    再看下面的代码

    printf("%d", printf("%d", printf("%d", a)));

    里面的一个printf执行之后,仍是输出a的值106,执行中间的一个printf则是输出"printf("%d",a)“的值,在结果中对应的是"3”,执行外面的一个printf则是输出"printf("%d",printf("%d",a))“的值,为"1”

    由此可见 “3”和“1”分别是"printf("%d",a)“,"printf("%d",printf("%d",a))“的返回值。

    printf的返回值就是输出的字符数量,返回值是是输出的字符数量,包括数字,字母,标点符号,空格等

    展开全文
  • 关于printf函数返回值

    万次阅读 多人点赞 2019-01-06 20:54:38
    初学C语言时用的最多的函数就是printf函数,而printf函数返回值是被大多数人忽略的,以至于很多应聘者在碰到关于printf返回值的编程时一头雾水。确实很少人会注意到这个,接下来就谈一谈printf返回值的问题。 先看...

    初学C语言时用的最多的函数就是printf函数,而printf函数的返回值是被大多数人忽略的,以至于很多应聘者在碰到关于printf返回值的编程时一头雾水。确实很少人会注意到这个,接下来就谈一谈printf返回值的问题。
    先看看下面的程序
    #include<stdio.h>
    int main()
    {
    int A=43;
    printf("%d\n",printf("%d",printf("%d",A)));
    }
    这个程序就是用了几个printf语句叠加。那么,这个程序会输出什么呢?

    输出结果为“4321”
    为什么呢?
    一,执行第三个printf,输出A的值“43”
    二,执行第二个printf,输出"printf("%d",A)“的值,在结果中对应的是"2”
    三,执行第一个printf,输出"printf("%d",printf("%d",A))“的值,为"1”
    由此我们看出,执行第二个printf时输出的"2"应该是"printf("%d",A)“返回值,而执行第一个printf时输出的"1"应该是第二个peintf的返回值。
    那么printf的返回值到底是什么呢?
    观察第二个printf的输出值和第三个printf的输出值,第一个printf的输出值和第二个printf的输出值不难发现:
    printf的返回值就是输出的字符数量
    第三个printf输出"43"字符数量为2,于是返回值为2,第二个printf就输出"2”
    第二个printf输出"2"字符数量为1,于是返回值为1,第一个printf就输出"1"

    要注意一点是:返回值是是输出的字符数量,包括数字,字母,标点符号,空格等。
    例如:
    #include<stdio.h>
    int main()
    {
    printf("%d\n",printf(“0,1,2,3\n”));
    }
    输出结果
    在这里插入图片描述
    第二个printf的返回值为8,包括四个数字,三个标点和一个换行符。

    展开全文
  • c语言, printf(), return value

    目录

    返回值

    实例

    运行结果

    参考man手册 printf(3) RETURN VALUE


    返回值

    printf() 返回输出元素的总长度。

    实例

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
    
    	int ret;
    
    	ret = printf("saika\n");
    	printf("ret = %d\n", ret);
    
    	ret = printf("%c\n", 'A');
    	printf("ret = %d\n", ret);
    
    	ret = printf("%d\n", 100);
    	printf("ret = %d\n", ret);
    
    	ret = printf("%.4f\n", 3.14);
    	printf("ret = %d\n", ret);
    
    	printf("\n");
    	ret = printf("%d", 100);
    	printf("ret = %d\n", ret);
    
    	exit(0);
    }

    运行结果

    测试环境: Ubuntu 21.10, gcc version 11.2.0

    参考man手册 printf(3) RETURN VALUE

            Upon successful return, these functions return the number of characters

    printed (excluding the null byte used to end output to strings).

           The functions snprintf() and vsnprintf() do not write  more  than  size

    bytes  (including the terminating null byte ('\0')).  If the output was truncated due to this limit, then the return value  is  the  number  of characters  (excluding the terminating null byte) which would have been written to the final string if enough space had been available.   Thus, a  return  value  of  size or more means that the output was truncated. (See also below under NOTES.)

           If an output error is encountered, a negative value is returned.

    展开全文
  • C语言printf函数返回值

    2020-06-11 18:50:19
    printf函数返回值 下面来看代码: printf("%d", printf("%d", printf("%d", 100))); 输出结果为: 为什么会打印出这样的结果呢? 让我们来看看: 1、首先打印最内层printf的结果: 43 2、其次最内层print函数 return...
  • printf函数的返回值 概念: printf函数的返回值就是它实际打印的字符的个数,也包括... printf("打印的字符个数,即printf函数返回值:%d\n",printf("%d\n", i)); system("pause"); return 0; } 程序执行结果可
  • 以前总是顺手使用printf函数,但是今天突然发现它还有返回值 int printf( const char *format [, argument]... ); 查了下资料说是代表输出的字符的个数。 写了段小代码测试了一下: #include int main() { ...
  • 【C语言】printf返回值

    千次阅读 2018-12-07 18:25:09
    printf返回值实质上是输出的字符个数。  
  • ”的程序,BoBo老师告诉他printf函数返回值,你能帮他写个程序输出printf(“Hello world!”)的返回值吗? 输入描述: 无 输出描述: 包括两行: 第一行为“Hello world!” 第二行为printf(“Hello world!”)调用后...
  • printf()函数返回值的总结 1.printf()函数返回值,它返回打印字符的个数; 2.字符个数注意计算所有的字符数,包括空格和不可见的换行符(\n); 此处用C primer plus第六版中的程序举例; #include <...
  • [C语言]printf函数和scanf函数的返回值

    多人点赞 2021-12-13 16:17:18
    主要谈关于一些基础函数返回值
  • printf返回值

    2021-07-22 09:35:44
    ”的程序,BoBo老师告诉他printf函数返回值,你能帮他写个程序输出printf(“Hello world!”)的返回值吗? 输入描述: 无 输出描述: 包括两行: 第一行为“Hello world!” 第二行为printf(“Hello world!”)...
  • printf函数返回值

    千次阅读 2018-03-12 15:41:00
    printf函数原型 int printf(const char * p,...); 返回值 返回值为整型,是输出字符的个数,即格式化字符串中字符的个数。 举例 int main() { int count = printf("ni hao csdn,%d\n",111); /...
  • 这个没什么好写的,记一下防止以后又忘记printf 函数返回的是输出的字符数int i = 43; printf("%d",i); //屏幕输出43,printf返回值是2printf("%d",printf("%d",i)); //屏幕输出432,最左边的printf返回值是1printf...
  • 函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。 测试代码: #inlude <stdio.h> int main() { int i; i = printf("%d \n", printf("abcdef")); printf("%d \n", i); return 0; } ...
  • ”的程序,BoBo老师告诉他printf函数返回值,你能帮他写个程序输出printf(“Hello world!”)的返回值吗? 输入描述: 无 输出描述: 包括两行: 第一行为“Hello world!” 第二行为printf(“Hello world!”)调用后的...
  • printf返回值的意义(小白理解法)

    千次阅读 2019-01-31 02:13:56
    printf("%d\n", printf("%d", printf("%d", printf("%d", t)))); putchar(10); printf("%d\n", printf("%d", printf("%d", t)));
  • C 语言简单练习题,关于 printf 函数的多次调用与其返回值问题
  • Printf函数和Scanf函数的返回值

    千次阅读 2018-05-30 19:29:21
    其实除了主函数,还有最重要的两个函数那就是printf函数和scanf函数,这两个函数都是用来格式化输入输出数据的函数。但实际在编程里面我们要进行输入输出数据的话,可以通过函数的形参来进行传递数据,所以scanf函数...
  • 详解C语言函数返回值解析 程序一: int main() { int *p; int i; int*fun(void); p=fun(); for(i=0;i<3;i++) { printf(%d\n,*p); p++; } return 0; }; int* fun(void) { static int str[]={1,2,3,4...
  • C语言函数返回值详解

    万次阅读 多人点赞 2020-02-24 11:32:28
    函数返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过 return 语句返回。 return 语句的一般形式为: return 表达式; 或者: return (表达式); 有没有( )都是正确的,为了简明,一般也...
  • C语言函数返回值

    2021-05-20 07:41:03
    C语言函数返回值教程如果,我们希望函数不返回任何值,那么我们需要显式的指明其返回类型为C语言函数不返回值语法void funcName(paramType1 param1, paramType2 param2){//执行语句...[return]}说明这里的函数 ...
  • 指针作为函数返回值

    千次阅读 2020-04-20 22:58:09
    转载自:指针作为函数返回值 指针作为函数返回值 C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数。下面的例子定义了一个函数 strlong(),用来返回两个字符串中较长的一个: #include <...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 223,930
精华内容 89,572
关键字:

关于printf函数的返回值