牛客网中习题内容如下所示: printf函数的返回值问题
描述
KiKi写了一个输出“Hello world!”的程序,BoBo老师告诉他printf函数有返回值,你能帮他写个程序输出printf(“Hello world!”)的返回值吗?
输入描述:
无
输出描述:
包括两行:
第一行为“Hello world!”
第二行为printf(“Hello world!”)调用后的返回值
在这里对于printf函数的返回值,很多小白表示不理解(其中也包过我)初始时候,我以为printf函数的返回值就是,在运转以后的结果中,出现printf("xxxxx")这类的东西,但是,在我书写好代码运转以后,表示深深的怀疑我的思维及其技术;
#include <stdio.h>
int main()
{
printf("Hello world!\n");
printf("%d\n", printf("Hello world!"));
return 0;
}
这个是我自己书写的代码,然后运行出来的结果为:
请各位看看代码运行后的第二行,明显不符合要求,于是,深思,求教!
“printf函数的返回值就是它实际打印的字符的个数,也包括... printf("打印的字符个数“)
比如,笔者所写的,Hello word!在这里一共12个字符,所以输出结果,带了12!这个便是原因,
罪手终于找到,笔者也可以进行对该题目进行做啦!
顺带一下习题讲解!
笔者进行代码整理以后,终于输出了正确结果!
简单代码为
#include<stdio.h>
int main()
{
int a=printf("Hello world!");
printf("\n%d",a);
return 0;
}
正确并且符合题意