说的没错。是printf
函数的返回值。
printf函数有返回值。
函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。
测试代码:
#inlude <stdio.h>
int main()
{
int i;
i = printf("%d \n", printf("abcdef"));
printf("%d \n", i);
return 0;
}
函数运行结果:
[root@localhost c]# ./test
abcdef6
3
[root@localhost c]#
为什么会这样呢?
首先打印adcdef
, 这个没有疑问。打印完,返回的%d
为6
(adcdef
一共6
个字符,所以返回6
)。
6
后面一个空格,一个回车,一共是3
个字符。
所以在下一行打印3
。