Utilizei um método diferente, operando pelo mínimo esforço de código. Utilizei os ponteiros (ou o que seria uma noção deles) presentes no tópico do Caíque Corcóvia e explicado pelo instrutor André Cunha.
Segue o código.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void research (int *a, int *b){
printf("Base = ");
scanf("%d", a);
printf("Expoente = ");
scanf("%d", b);
}
void potencia (int a, int b){
printf("%d^%d = %d\n",a,b,(int)pow(a,b));
}
int main(int argc, char const *argv[])
{
int a;
int b;
research (&a,&b);
potencia (a,b);
system("pause");
return 0;
}