2013-12-13 2 views
-2

I'am новичок в 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' return "и" Что делает оператор запятой " – 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) Количество символов, записанных в случае успеха или отрицательное значение, если произошла ошибка.

Смежные вопросы