Introduction
In normal procedural languages one can go about
defining functions and procedures, and 'calling' these from the 'parent'
functions. I hope you already know that Some languages also provide the ability
of a function to call itself this is called Recursion. Recursion is the process
of repeating items in a self-similar way. For instance when the surfaces of two
mirrors are exactly parallel with each other the nested images that occur are a
form of infinite recursion. The term has a variety of meanings specific to a
variety of disciplines ranging from linguistics to logic. The most common
application of recursion is in mathematics and computer science in which it
refers to a method of defining functions in which the function being defined is
applied within its own definition. Recursion is the process a procedure goes
through when one of the steps of the procedure involves invoking the procedure
itself. A procedure that goes through recursion is said to be 'recursive'.
Example: Through a recursion multiply of
a numbers.
Code
#include<stdio.h>
int
multiply(int,int);
int
main(){
int
a,b,product;
printf("Enter
any two integers: ");
scanf("%d%d",&a,&b);
product = multiply(a,b);
printf("Multiplication
of two integers is %d",product);
return
0;
}
int
multiply(int
a,int
b){
static
int
product=0,i=0;
if(i
< a){
product = product + b;
i++;
multiply(a,b);
}
return
product;
}
Output: Enter any two integers: 5 8
Multiplication of two integers is 40