对于我认为但无法找到理由的片段。
printf("%d",printf("tim"));
为什么此打印3带有输出。输出为tim3
。为什么?
答案 0 :(得分:2)
printf()
返回成功打印的字符数。所以在这种情况下它是3
检查那个男人: http://linux.die.net/man/3/printf
"tim"
是3个字符。
内部printf()
在打印tim
后返回3,外部printf()正在使用此值并打印出3。
答案 1 :(得分:1)
有两个printf()
s。
内部printf()
[printf("tim")
]首先执行,打印" tim"并为number
]返回成功打印的字符3
tim
。
第一个printf()
的返回输入到第二个printf()
[printf("%d",printf("tim"));
],实际上是printf("%d", 3);
。所以,它的印刷3。
我建议您检查man page中printf()
的后退价值。它声明
成功返回后,这些函数返回的数量 打印的字符(不包括用于结束输出的空字节) 字符串)。