C program to Calculate the Power of a Number Using Recursion

To understand this example, you should have the knowledge of following C programming topics:

This program takes two integers from user ( base number and a exponent) and calculates the power. Instead of using loops to calculate power, this program uses recursion to calculate the power of a number.

Source code to calculate power using recursion

/* Source Code to calculate power using recursive function */

#include <stdio.h>
int power(int n1,int n2);
int main()
    int base, exp;
    printf("Enter base number: ");
    printf("Enter power number(positive integer): ");
    printf("%d^%d = %d", base, exp, power(base, exp));
    return 0;
int power(int base,int exp)
    if ( exp!=1 )
        return (base*power(base,exp-1));


Enter base number: 3
Enter power number(positive integer): 3
3^3 = 27

This program can only calculate the power if base power and exponent are integers only. If you need to the calculate power of a floating point number then, you can use pow() library function.