Рахима Достамбаева
Рахима Достамбаева

С++ функция возведения в степень (см. внутри)

float pow (float x, int n)
{

if (n < 0) break;

switch (n)

{

case 0: return 1;

case 1: return x;

default: return x * pow(x, n-1);

}

}

Пример из книги Страуструпа, непонятен механизм увеличения x в памяти через указатель на функцию.

т. е. как происходит перекладывание данных в памяти? допустим если 4 в степени 3.

Ви
Витаминка

Это не указатель на функцию, а умножение на функцию pow. Возведение в степень это перемножение числа само на себя несколько раз.

Анна
Анна

Происходит рекурсия.

СА
Светлана Анохина-Терёшина

это называется рекурсия.
Функция вызывает сама себя, при каждом вызове в памяти выделяется область в стеке для локальных переменных. То есть сначала pow взывается с параметрам n=3, потом с n=2, потом с n=1. На каждый вызов локальное значение n своё и хранится в стеке

Сергей Русинов
Сергей Русинов

если не понятно, хначит не ваше это

Похожие вопросы
pascal задача (возведение в степень двучелена через треуголтник паскаля)
написать программу с функцией, вычисляющую целую степень дробного числа. Учесть, что степень может быть отрицательной, пол
Как реализовать возведение x в степень 2n-1 без..
почему возведение во 2 степени называют в квадрате? почему возведение во 2 степени называют в квадрате?
Функция "создать папку" (см. внутри)
что такое возведение в степень
нужен алгоритм возведения числа в большую степень
Помогите решить задачу в Excel с использованием условной функции ( подробности см. внутри)
Алгоритм возведения в большую степень и замена этого выражения на более простое
возведение в степень С++