Какой результат вычисления будет иметь следующая функция:

float func(float x, int N) 
{ 
    int i = 0; 
    float p = 1., s = 1.; 
    while(i < N) 
          s += p *= x / ++i; 
    return s; 
} 
функция вернет результат разложение экспоненты по степеням x в ряд Маклорена, с ограничением степени разложения до N
тело функции содержит ошибки
функция вернет "inf" так как в ее теле в процессе вычисления произойдет деление на ноль