- जिस function में वही function को call किया जाता है, उसे recursion कहते है |
- Recursion एक ऐसा process है , जो loop के तरह काम करता है |
- Recursion को एक satisfied condition लगती है, जिससे recursive function काम करना बंद कर दे |
- Recursive Function तबतक call होता रहता है, जबतक उसका satisfaction नहीं होता |
- अगर Recursive function का satisfaction नहीं हो तो 'infinite looping' की संभावना होती है |
Recursive function कैसा होता है ?
void recursive_function(){
//some code;
recursive_function()();
//some code;
}
int main(){
//some code;
recursive_function()();
//some code;
}
Example for Recursion
Source Code :
#include <stdio.h>
int main(){
int a,fact=0;
printf("Enter Number : ");
scanf("%d", &a);
fact=factorial(a);
printf("Factorial of %d is %d", a, fact);
return 0;
}
int factorial (int n)
{
if (n == 0){
return 1;
}else{
return (n * factorial(n-1));
}
}
Output :
Enter Number : 4
Factorial of 4 is 24
Example for Addition of Two Numbers using Recursion
Source Code :
#include <stdio.h>
int add(int, int);
int main()
{
int num1,num2,sum;
printf("Enter Two Values\n");
scanf("%d %d",&num1,&num2);
sum = add(num1, num2);
printf("sum of %d and %d : %d", num1, num2, sum);
return 0;
}
add(int a, int b){
if(b==0){
return a;
}else{
return (1+add(a,b-1));
}
}
Output :
Enter Two Values
5
6
sum of 5 and 6 : 11