首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C语言中printf()函数的返回值

C语言中printf()函数的返回值
EN

Stack Overflow用户
提问于 2011-08-14 16:49:02
回答 10查看 74.4K关注 0票数 31

printf()函数将返回打印的字符数。但是在下面的代码中,为什么要打印5。

代码语言:javascript
复制
int a=1000;
printf("%d",printf("\n%d",a));

它打印"1000“一次和一个空格,所以我们总共有2个字符。

它应该输出"1000 2“。但是它的输出是"1000 5“。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2011-08-14 16:51:49

输出的字符数为5。1000为4个字符。\n是一个字符。

scanf系列函数不同,printf不会返回“项目”输出的数量。它返回实际的字符数。

票数 59
EN

Stack Overflow用户

发布于 2011-08-14 16:52:35

内部调用首先发生,打印5个字符(\n1000)并返回5

然后发生外部调用,并打印内部调用返回的5

票数 12
EN

Stack Overflow用户

发布于 2012-03-17 15:34:43

假设表达式:

代码语言:javascript
复制
int a=10;
printf("a=%d",printf("b=%d",a));

输出

代码语言:javascript
复制
b=10 a=4;

b,因为赋值给了b,即

代码语言:javascript
复制
b=10;

代码语言:javascript
复制
b,=,1,0   

计数为4,并赋值给ai.e:

代码语言:javascript
复制
a=4;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7055882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档