2013-12-13 36 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)的书面如果成功或负值,如果出现错误的字符数。