小巧的程序输出

时间:2014-11-26 06:14:39

标签: c printf

对于我认为但无法找到理由的片段。

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

为什么此打印3带有输出。输出为tim3。为什么?

2 个答案:

答案 0 :(得分:2)

printf()返回成功打印的字符数。所以在这种情况下它是3

检查那个男人: http://linux.die.net/man/3/printf

"tim"是3个字符。

内部printf()在打印tim后返回3,外部printf()正在使用此值并打印出3。

答案 1 :(得分:1)

有两个printf() s。

  1. 内部printf() [printf("tim")]首先执行,打印" tim"并为number]返回成功打印的字符3 tim

  2. 第一个printf()的返回输入到第二个printf() [printf("%d",printf("tim"));],实际上是printf("%d", 3);。所以,它的印刷3。

  3. 我建议您检查man pageprintf()的后退价值。它声明

      

    成功返回后,这些函数返回的数量   打印的字符(不包括用于结束输出的空字节)   字符串)。