Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C printf如何返回成功打印的字符数?_C - Fatal编程技术网

C printf如何返回成功打印的字符数?

C printf如何返回成功打印的字符数?,c,C,对于以下代码段: int a=printf("made,%d,easy",printf("Lucknow")); printf("%d",a); 我使用GCC编译器获得as 11的值,我没有得到背后的逻辑,printf返回屏幕上打印的字符数,因此它打印Luckknowmade,7,easy。因此,我们在屏幕上打印了18个字符,所以a的值应该是18,为什么它给出OP为11 请简要解释一下 代码首先执行printf(“luckow”),在屏幕上打印“luckow”,并将值7返回给第二个printf

对于以下代码段:

int a=printf("made,%d,easy",printf("Lucknow"));
printf("%d",a);
我使用GCC编译器获得as 11的值,我没有得到背后的逻辑,
printf
返回屏幕上打印的字符数,因此它打印
Luckknowmade,7,easy
。因此,我们在屏幕上打印了18个字符,所以a的值应该是18,为什么它给出OP为11


请简要解释一下

代码首先执行
printf(“luckow”)
,在屏幕上打印“luckow”,并将值7返回给第二个
printf()
调用。第二个
printf()。它不知道或不关心其他函数做了什么。

如您所述,
printf
返回打印的字符数

printf("made,%d,easy",printf("Lucknow"))

返回11,因为
printf(“luckknow”)
打印“luckknow”然后返回7,因此您将最终打印“made,7,easy”,即11个字符。

有两个printf调用,分别打印。它们返回单独的值。
made,7,easy
——这就是它打印的全部内容