#include<stdio.h>
int counter;
int fibonacci(int n)
{
counter += 1;
if ( n <= 2 )
return 1;
else
return fibonacci(n-1) + fibonacci(n-2);
}
int main(void)
{
int i;
int sum ;
for( i = 1 ; i<= 10; i++)
{
counter = 0;
sum = fibonacci(i);
printf ( "fibonacci(%d)= %d, counter= %d\n",i,sum,counter );
}
return 0;
}
---------- Post updated at 12:29 AM ---------- Previous update was at 12:22 AM ----------
why the counter will be zero every times in the for loop when i modify the
code " printf ( "fibonacci(%d)= %d, counter= %d\n",i,sum,counter ) "
to "printf ( "fibonacci(%d)= %d, counter= %d\n",i,fibonacci(i),counter )" !
that is i want to call the fibonacci routing in the printf function!
---------- Post updated at 12:30 AM ---------- Previous update was at 12:29 AM ----------
fibonacci(1)= 1, counter= 1
fibonacci(2)= 1, counter= 1
fibonacci(3)= 2, counter= 3
fibonacci(4)= 3, counter= 5
fibonacci(5)= 5, counter= 9
fibonacci(6)= 8, counter= 15
fibonacci(7)= 13, counter= 25
fibonacci(8)= 21, counter= 41
fibonacci(9)= 34, counter= 67
fibonacci(10)= 55, counter= 109
---------- Post updated at 12:32 AM ---------- Previous update was at 12:30 AM ----------
when the fibonacii routing called in the printf function
the result of running is
fibonacci(1)= 1, counter= 0
fibonacci(2)= 1, counter= 0
fibonacci(3)= 2, counter= 0
fibonacci(4)= 3, counter= 0
fibonacci(5)= 5, counter= 0
fibonacci(6)= 8, counter= 0
fibonacci(7)= 13, counter= 0
fibonacci(8)= 21, counter= 0
fibonacci(9)= 34, counter= 0
fibonacci(10)= 55, counter= 0