#include <stdio.h>
int myFunction(int n);
long old=0;
long current=0;
int main() {
int k = 4,i;
long diff;
i =myFunction(k);
printf("i = %d\n",i);
diff = old - current;
printf("stack overheads are %16lu\n",diff);
}
int myFunction(int n) {
int j;
static int staticVariable=0;
if(staticVariable==0){
old =(long) &j;
}
if(staticVariable==1){
current =(long) &j;
}
staticVariable++;
printf("the address of j and staticVariable is %16lu %16lu\n",&j,&staticVariable);
if(n<=0){
return(1);
}else{
return(n*myFunction(n-1));
}
}
|