### RECURSIVE FUNCTION

It is possible for the functions to call themselves. A function is called ‘recursive’ if a statement within the body of a function calls the same function. Sometimes called ‘circular definition’, recursion is thus the process of defining something in terms of itself.
Let us now see a simple example of recursion. Suppose we want to calculate the factorial value of an integer. As we know, the factorial of a number is the product of all the integers between 1 and that number. For example, 4 factorial is 4 * 3 * 2 * 1.

 main( ) {    int a, fact ;    printf ( "\nEnter any number " ) ;    scanf ( "%d", &a ) ;    fact = factorial ( a ) ;    printf ( "Factorial value = %d", fact ) ; } factorial ( int x ) {    int f = 1, i ;    for ( i = x ; i >= 1 ; i-- )    f = f * i ;    return ( f ) ; }

And here is the output...
 Enter any number 3 Factorial value = 6

Following is the recursive version of the function to calculate the factorial value.
 main( ) {    int a, fact ;    printf ( "\nEnter any number " ) ;    scanf ( "%d", &a ) ;    fact = rec ( a ) ;    printf ( "Factorial value = %d", fact ) ; } rec ( int x ) {    int f ;    if ( x == 1 )       return ( 1 ) ;    else       f = x * rec ( x - 1 ) ;    return ( f ) ; }

Now the output is
 Enter any number 5 Factorial value = 120