هذا مثال للدالة التي تستدعي نفسها
#include<iostream>
using namespace std;
int occ(int a[],int size,int v,int &);
int main()
{
int i=0;
int m;
int a[10] = {5,5,4,3,5,6,7,2,5,5};
int size = 10;
m = occ(a,size,5,i);
cout << "occurance = " << m << endl;
cout << " i =" << i <<endl;//how many times we enter occ function
return 0;
}
int occ(int a[],int size,int v , int&i)
{
i++;
int r;
if(size ==0) r=0;
else
{
r= occ(a,size-1,5,i);
cout << r << endl; // what is the value of r in each time
if(a[size-1] == 5) r++;
}
return r;
}