Recursion in C

Recursion in C Programming in hindi

Recursion एक ऐसी process होती है जिसमें function अपने आप को ही call करता है। Recursion का use किसी problem को small parts में divide करके solve करने के लिए किया जाता है । ऐसे functions जो अपने आप को ही call करते है उन्हें recursive functions कहते है ।

Structure of Recursive Function

return type myFunction(Parameters-list)
{
statement 1;
statement 2;

statement N;
myFunction(Arguments-list);

other statements;
}

Advantages and Disadvantages of Recursion in c

Advantages

1. यदि हम Recursion के द्वारा किसी problem को solve करते है तो इससे बार बार function को call करने की जरुरत नहीं पड़ती है । यदि हम 1 बार function को call करते है तो जब तक end result न आ जाये तब तक ये स्वयं को call करते रहता है ।

2. Recursion में same problem को easily solve किया जाता है ।

Disadvantages

1. Recursive programs normal programs से slow होते है ।

2. Requires consuming extra memory

Types of Recursion in C

Direct Recursion

Direct recursion is a recursion in which a function calls itself.

return_type MyFunction(parameter-list)
{
statements;
MyFunction(argument-list);
other statements;
}

Indirect Recursion

इसमें एक function किसी दूसरे ऐसे function को call करता है जो return में उसे ही call करता है ।

First Function

return_type FunctionOne(parameter-list)
{
statements;
FunctionTwo(argument-list);
other statements;
}

Second Function

return_type FunctionTwo(parameter-list)
{
statements;
FunctionOne(argument-list);
other statements;
}

Factorial of a Number Using Recursion

#include <stdio.h>
#include <conio.h>
long int fact(int n);
int main()
{
int n;
printf("Enter a positive integer: ");
scanf("%d", &n);
printf("Factorial of %d = %ld", n, fact(n));
return 0;
}
long int fact(int n)
{
if (n >= 1)
return n*fact(n-1);
else
return 1;
}

Output

Enter a positive integer: 4
Factorial of 4 = 24