Не понимаю, как работает функция по возведению в степень на C

int power(int base, int n)
{
    int i, p;

    p = 1;
    for(i = 1 ; i <= n ; ++i)
        p = p * base;
    return p;
}

Ответы (1 шт):

Автор решения: dIm0n

Вот код с объяснением:

int power(int base, int n)
{
    int i, p;                 // определение переменных i, p

    p = 1;                    // присваивание p единицы
    for(i = 1 ; i <= n ; ++i) // делаем n итераций (лучше 0 и <, чтобы не было переполнений)
        p = p * base;         // умножаем p на base и сохраняем результат в p (лучше p *= base)
    return p;                 // возвращаем p
}

// power(2, 4) => 4 итерации:
// p = 1 * 2
// p = 2 * 2
// p = 4 * 2
// p = 8 * 2
// return 16
→ Ссылка