ฟังก์ชันแบบเรียกซ้ำ เป็นกระบวนการกำหนดบางสิ่งบางอย่างในแง่ของตัวเอง เป็นฟังก์ชันที่เรียกตัวเองอีกครั้งในเนื้อความของฟังก์ชัน
ฟังก์ชันข้อเท็จจริง ( ) ที่คำนวณแฟกทอเรียลของจำนวนเต็ม 'N' ซึ่งเป็นผลคูณของจำนวนเต็มทั้งหมดตั้งแต่ 1 ถึง N
เมื่อ fact ( ) ถูกเรียกด้วยอาร์กิวเมนต์ 1 (หรือ) 0 ฟังก์ชันจะคืนค่า 1 มิฉะนั้น จะส่งคืนผลคูณของ n*fact (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>
int main ( ){
int n,f;
int fact (int);
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