2013-12-13 83 views
-2

我'新手在C++中,任何人可以解釋這個程序的輸出:C++代碼輸出解釋4

int main() 
{ 
    int m=96, j=49; 
    m = (printf("what's up"), printf(" programmers ? ")); 
    printf("%d", m); 
    return 0; 
} 

輸出:

怎麼了程序員? 15

+3

閱讀關於「printf'返回什麼」和「逗號操作符做什麼」 – soon

+1

歡迎來到SO。您的個人資料顯示您隨機提問所有語言的問題。請花更多時間來理解這些語言並閱讀好書。這也將有助於提高問題的質量。祝你好運。 –

+0

它是「我是」或「我是」,而不是「我」。 –

回答

0

programmers ?共有15個字符。 printf返回寫入的字符數。

在這一行:

m = (printf("what's up"), printf(" programmers ? ")); 

這些功能將被評估,並且最後一個表達式將被返回。因此printf將被調用兩次,並且最後的printf的返回值將被存儲在m中。

1

en.cppreference

int printf(const char* format, ...); 

返回值

1-2)的書面如果成功或負值,如果出現錯誤的字符數。