man pow
говорит:
double pow (double x, double y);
... Функции pow () вычисляют x, возведенное в степень y.
Вы должны включить математический.В коде это будет выглядеть так:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
int a, b;
if(scanf("%d", &a) != 1) {
fprintf(stderr, "wrong input for a");
exit(1);
}
if(scanf("%d", &b) != 1) {
fprintf(stderr, "wrong input for b");
exit(1);
}
double result = pow(a, b);
printf("result of %d^%d=%g\n", a, b, result);
return 0;
}
Обратите внимание, что scanf
возвращает количество назначенных элементов ввода.Поэтому имеет смысл проверить, нет ли там неправильного ввода.