Bonjour a tous

j ai un devoir a rendre en informatique,ce devoir est le suivant:
je dois "construire" une fonction qui compte le nombre de 9 dans un unsigned long int ,et je dois de preference utiliser la recursivité,mais voila probleme,
lorsque j excecute le programme ,il me met "NOT eNOUGH MEMory" il ne s excecute pas !!!!
VOICI le code ,merci d avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<stdio.h>
#include<conio.h>
unsigned nbneuf(unsigned long int,int);
main()
{
unsigned long int a,p;
int n,x;
clrscr();
 
printf("Donnez votre nombre ooooh:");
scanf("%lu",&a);
p=a;
n=0;
 
x=nbneuf(p,n);
 
printf("il y en a %d ",x);
getch();
}
//***************************************************************************
unsigned nbneuf(unsigned long int p,int n)
{
if(p>0)
{
if((p%10)==9)
	  n++;
 
	  p=p/10;
	  nbneuf(p,n);
	  }
	  else
  return n;
 
 }