"रिकर्सिव फंक्शन" कुछ ऐसा है जो फंक्शन के मुख्य भाग में खुद को फिर से कॉल करता है।
उदाहरण के लिए,
-
एक फ़ंक्शन तथ्य ( ), जो एक पूर्णांक 'N' के भाज्य की गणना करता है, जो 1 से N तक की सभी पूर्ण संख्याओं का गुणनफल है।
-
तथ्य ( ) 1 (या) 0 के तर्क के साथ, फ़ंक्शन 1 लौटाता है। अन्यथा, यह n*तथ्य (n-1) देता है, यह तब तक होता है जब तक 'n' 1 के बराबर नहीं हो जाता।
Fact (5) =5* fact (4) =5*4*3* fact (3) =5*4*3*2* fact (2) =5*4*3*2*1 fact (1) =5*4*3*2*1 = 120.
उदाहरण
किसी संख्या को उलटने के लिए पुनरावर्ती फ़ंक्शन के उपयोग के लिए C प्रोग्राम निम्नलिखित है -
#include<stdio.h> main ( ){ int n,f; int fact (int); clrscr ( ); printf ("enter a number"); scanf ("%d", &n); f= fact (n); printf (factorial value = %d",f); } int fact (int n){ int f; if ( ( n==1) || (n==0)) return 1; else f= n*fact (n-1); return f; }
आउटपुट
आउटपुट नीचे दिया गया है -
Enter a number 5 Factorial value = 120
रिकर्सिव फ़ंक्शन का उपयोग करके किसी दिए गए नंबर को उलटने के लिए एक और सी प्रोग्राम नीचे दिया गया है -
#include<stdio.h> int sum=0,rem; int main(){ int num,revNum; printf("enter number:\n"); scanf("%d",&num); revNum=revNumFunction(num);//calling function to reverse the given number printf("the number after reverse :%d",revNum); return 0; } revNumFunction(int num){ if(num){ rem=num%10; sum=sum*10+rem; revNum(num/10); } else return sum; }
आउटपुट
आउटपुट इस प्रकार है -
enter number: 1357 the number after reverse is :7531