碰到一段有意思的代码:
#include <stdio.h>
int main()
{
int i=43;
printf("%d\n",printf("%d",printf("%d",i)));
return 0;
}
这段代码用了几个printf函数,但是输出的值很有意思
为什么会是4321呢?
首先调用第一个printf输出43,然后第二个printf输出2,第三个printf输出1并且换行。
查阅资料发现printf是有返回值的,返回值是输出的长度。
首先第一个printf输出43,返回输出的长度‘2’。
第二个printf输出2,返回输出的长度‘1’。
最后输出1.