Предмет: Информатика,
автор: 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);
}
Ответы
Автор ответа:
1
Эта функция выведет 20.
Сначала мы передаём 2 в функцию h как указатель.
Увеличиваем 2 на один, а потом ещё на один, у нас выходит 4.
Возвращаем 4+4=8.
Потом мы передаём 4 в функция h как указатель.
Увеличиваем 4 на один, а потом ещё на один, у нас выходит 6.
6+6=12.
Ну а потом мы возвращаем сумму наших двоих функций h.
12+8 = 20.
Сначала мы передаём 2 в функцию h как указатель.
Увеличиваем 2 на один, а потом ещё на один, у нас выходит 4.
Возвращаем 4+4=8.
Потом мы передаём 4 в функция h как указатель.
Увеличиваем 4 на один, а потом ещё на один, у нас выходит 6.
6+6=12.
Ну а потом мы возвращаем сумму наших двоих функций h.
12+8 = 20.
Похожие вопросы
Предмет: Алгебра,
автор: Egocher
Предмет: Математика,
автор: ira14che
Предмет: Русский язык,
автор: lardemorosandzigin
Предмет: Литература,
автор: НастяНэп
Предмет: Биология,
автор: клир3345