![](/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.