Вы должны удалить &
в printf
и добавить &
в scanf
.
printf("Your exponent is: %f \n", multiplier);
scanf("%f", &result);
и использовать %f
в них.
и с базой 10
Я предлагаю эту функцию для вычисления журнала:
unsigned int Log2n(unsigned int n)
{
return (n > 1) ? 1 + Log2n(n / 10) : 0;
}
также вы должны знать о числах с плавающей точкой здесь: multiplier += 0.001;
вероятно, точно 0.001
не будет добавлено multiplier
когда я отлаживал это 0.00100005
добавлялось к multiplier
в моем компиляторе (что повлияет на умножение)