为什么 -nan(ind) 问题发生在我的代码中

Why -nan(ind) problem is happened in my code

double power_func(double a, int b, double c) {
    if (b == 0)
        return 1.0;
    else if (b == 1)
        return a;
    else 
        a *= c;
        
    power_func(a, b - 1, c);
}

如果我用值 b、0 或 1 调用此函数,它可以工作,但如果我给 b 值不是那些 0 或 1,它会被打印为“-nan(ind)”。请告诉我为什么会这样。

您在 power_func(a, b - 1, c);

之前忘记了 return