Olá, Claudio! Tudo bem?
Sua implementação da função para calcular a potência de um número está quase correta, mas há um pequeno erro em sua lógica. Vamos ajustá-la para que funcione corretamente.
Na sua função potenci
, o cálculo da potência está um pouco confuso. A lógica correta seria multiplicar x
por ele mesmo y
vezes. Além disso, é importante inicializar resultado
com 1, pois qualquer número elevado a 0 é 1, e multiplicar por 1 não altera o resultado.
Aqui está uma sugestão de como você pode corrigir a função:
#include <stdio.h>
void potenci(int x, int y)
{
int resultado = 1;
for (int i = 0; i < y; i++)
{
resultado *= x;
}
printf("%d elevado à %d é %d\n", x, y, resultado);
}
int main ()
{
int num[2];
printf("\nDigite dois números: ");
scanf("%d", &num[0]);
scanf("%d", &num[1]);
potenci(num[0], num[1]);
return 0;
}
As principais mudanças foram:
- Inicializar
resultado
com 1. - Alterar o loop para multiplicar
resultado
por x
, y
vezes.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.