printf函数的返回值!

2022-02-24 15:20:05 浏览数 (1)

printf函数原型

代码语言:javascript复制
int printf(const char * p,...);

返回值 返回值为整型,是输出字符的个数,即格式化字符串中字符的个数。

举例

代码语言:javascript复制
int main()
{
    int count = printf("ni hao csdn,%dn",111);
    //这里的格式化字符串包括逗号、空格、换行符、字母及数字共计16个字符
    printf("n = %dn",n);
}

输出结果

代码语言:javascript复制
n = 16;

一个面试题

代码语言:javascript复制
int main()
{
    printf("%dn",printf("%dn",printf("hello!n"))); 
}

这样的题目第一眼看上去有一点懵,其实它考的就是printf函数的返回值,及输出字符的个数。 输出结果

代码语言:javascript复制
//由内而外依次分析
printf("hello!n");
//在屏幕上输出hello!并进行换行,其返回值为7。
printf("%dn",printf("hello!n"));
/*由上一步可以知道其实  printf("hello!n") == 7 所以输出7并进行换行*/
printf("%dn",printf("%dn",printf("hello!n")));
//尽管这一行很长,但是经过简化,他可以这样表示
printf("%dn",2);
//因为printf("%dn",printf("hello!n"))的返回值为2

0 人点赞