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
——这就是它打印的全部内容