Рассмотрим следующий пример:Оценка и печать факторный
double fact(int n)
{
int i;
double res = 1;
for (i = 1; i <= n; i++)
res *= i;
return res;
}
double f = 1;
for (int i = 0; i < 16; i++)
{
printf("%lf \n", fact(2*i + 1));
f *= (f + 1)*(f + 2);
printf("%lf \n", f);
}
Почему fact(2*i+1)
приводит правильное значение, а f
результатов странное значение в 1.#INF00
?
, насколько я могу видеть, 'факт() 'является функцией,' f' является переменной и бессмысленным циклом 'for' в вашем коде. Вы хотите немного разобраться? –