繁体   English   中英

为什么这个嵌套的 printf 语句打印“5 53”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM