Я пытаюсь создать некоторый код с программированием на C, который может показывать число с определенной степенью с обоими значениями, указанными пользователем. Я хочу использовать pow для первой части и цикл while для второй. Тем не менее, я столкнулся с ошибкой в этом текущем коде, от которой я не могу избавиться.
Вот ошибка, с которой я не знаком:
error: invalid operands to binary * (have ‘int (*)(int, int)’ and ‘int’)
result2 = result2 * base;
Я пытался найти другие вопросы с той же ошибкой, но они настолько отличаются, что я не могу понять.
Я пытался исследовать "long", но у меня еще не было опыта в этом учебнике C, поэтому я хотел бы воздержаться от его использования, если это возможно.
#include <stdio.h>
#include <math.h>
int result2(int base, int exponent);
int main(void)
{
double base;
double exponent;
double result1;
puts("Please enter a value as the base and another as the exponent.");
scanf("%lf%lf", &base, &exponent);
result1 = pow(base, exponent);
printf("Library solution: %lf\n", result1);
printf("My solution: %d\n", result2(base, exponent));
}
int result2(int base, int exponent)
{
int i;
for(i=1; i<=exponent; i++)
{
result2 = result2 * base;
}
return;
}
Я хотел бы иметь возможность правильно рассчитать уравнение, используя оба метода со значениями пользователя. Однако, с этой ошибкой, я просто не могу пройти и достичь этого. Спасибо.