Galera, estou começando a aprender programar, eu fui fazer um exercício da faculdade, ele compilou tudo certinho, mas percebi que quando coloco 5 elevado a 2, 3 ou 4 ele da o resultado correto - 1, por exemplo se coloco 5 elevado a 2, ele da o resultado 24, com outros valores que testei o resultado deu certinho. Pedi para dois amigos testarem o código e pra eles funcionou normal, alguem sabe como resolver isso?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL,"");
int n, ex, resultado;
printf("Digite um número\n");
scanf("%d", &n);
printf("Digite o expoente\n");
scanf("%d", &ex);
if (ex == 1) {
resultado = n;
printf("\n%d elevado à %d = %d\n", n,ex,n);
}else if(ex == 0){
resultado = 1;
printf("\n O resultado de potenciação é 1\n");
}else {
resultado = pow(n,ex);
printf("\n %d elevado à %d = %d\n", n,ex,resultado);
}
return 0;
}