![](/img/trans.png)
[英]Why does std::cout not print values from union, but printf does?
[英]Why does this nested printf statement print "5 53"?
#include <stdio.h>
int main() {
int x=5;
printf("%d", printf("%d %d",x,x));
}
输出5 53
谁能解释一下? 我自己试过,我认为答案应该是5 5 2
printf
的返回值是
如果发生输出错误或编码错误(对于字符串和字符转换说明符) ,则传输到输出流的字符数或负值
(从这里开始,强调我的)和“5 5”是三个字符(即“五个空格五”)。 所以最后打印的数字是 3。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.