Не понимаю, как работает функция по возведению в степень на 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