Это рекурсивная функция для достижения пау.Почему компилятор выдает предупреждение: «warning: элемент управления может достигнуть конца непустой функции»
Одним из решений является добавление «return 0» в нижней части функции, но покрытие не получит 100%, так как решить эту проблему?
Спасибо!
double pow_recur( double base, int exponent )
{
if (base == 0) {
return 0;
}
if (exponent == 0) {
return 1.0;
} else if (exponent > 0) {
if (exponent % 2 == 0) {
return pow_recur(base * base, exponent / 2);
}
if (exponent % 2 == 1) {
return base * pow_recur(base * base, (exponent - 1) / 2);
}
} else {
return 1.0 / pow_recur(base, -exponent);
}
}