I have a question about a program which generate Fibonacci numbers. The user enters the number of Fibonacci numbers he/she need , and the program generates it. The problem is after 48 numbers the program start to give wrong numbers. It seems to do trimming to numbers giving out some random results. I made an array of "unsigned long long int" that is 64 bits for each number. It should carry big numbers, but it didn`t.
Here is my code :
#include <stdio.h>
int main (void)
{
int n , i ;
printf("Enter number of Fibonacci numbers you need : ");
scanf("%d" , &n);
unsigned long long int fib_numbers[n];
fib_numbers[0] = 0 ;
printf("1. %llu\n",0);
fib_numbers[1] = 1 ;
printf("2. %llu\n",1);
for(i=2;i<n;i++)
{
fib_numbers[i]=fib_numbers[i-1]+fib_numbers[i-2];
printf("%d. %llu\n",i+1,fib_numbers[i]);
}
return 0;
}
Hers is a snap for output, notice number 49