This question already has answers here:
Closed 2 years ago.
What does printf return?
(4个答案)
我不明白下面的代码是如何给出不同的输出的
输出:
输出:
输出:
输出
输出:
其他的变化也会产生其他的结果。
一个空格怎么能改变一个数字。
提前谢谢。
有关更多信息,请参阅标准
7.21.6.1 fprintf功能
fprintf函数返回传输的字符数,如果发生输出或编码错误,则返回负值。
(4个答案)
我不明白下面的代码是如何给出不同的输出的
#include <stdio.h>
int main()
{
int i=43;
printf("%d\n",printf("%d",printf("%d",i)));
return 0;
}
输出:
4321
printf("%d\n",printf("%d",printf("%d ",i)));
输出:
43 31
printf("%d\n",printf("%d ",printf("%d ",i)));
输出:
43 3 2
printf("%d\n",printf("%d ",printf(" %d ",i)));
输出
43 4 2
printf("%d\n",printf(" %d ",printf(" %d ",i)));
输出:
43 4 3
其他的变化也会产生其他的结果。
一个空格怎么能改变一个数字。
提前谢谢。
最佳答案
printf
返回打印的字符数
在您的情况下,该语句可以像这样断开-预期输出为:
printf("%d\n", // 1
printf("%d", // 2
printf("%d",i) // 43
)
); // 4321
有关更多信息,请参阅标准
fprintf
(printf
是fprintf
的特例,流为stdout
)7.21.6.1 fprintf功能
#include <stdio.h>
int fprintf(FILE * restrict stream,
const char * restrict format, ...);
fprintf函数返回传输的字符数,如果发生输出或编码错误,则返回负值。
关于c - 嵌套的printf语句有效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40970959/
10-13 23:38