Предмет: Информатика, автор: lopopolos

Что вернёт функция g(), если её вызвать в C++?

int h(int *q, int *p) {
*p += 1;
*q += 1;
return *p + *q;
}
int g() {
int a = 2, b = 4;
return h(&a, &a) + h(&b, &b);
}

Ответы

Автор ответа: Slavque
1
Эта функция выведет 20.
Сначала мы передаём 2 в функцию h как указатель.
Увеличиваем 2 на один, а потом ещё на один, у нас выходит 4.
Возвращаем 4+4=8.
Потом мы передаём 4 в функция h как указатель.
Увеличиваем 4 на один, а потом ещё на один, у нас выходит 6.
6+6=12.
Ну а потом мы возвращаем сумму наших двоих функций h.
12+8 = 20.

Похожие вопросы
Предмет: Алгебра, автор: Egocher
Предмет: Русский язык, автор: lardemorosandzigin
Предмет: Биология, автор: клир3345