# C Program to Print Fibonacci Series

In this tutorial, you will learn and get code about printing of Fibonacci series with and without using function. But before going through the program, let's first understand about Fibonacci series.

### What is Fibonacci Series ?

Fibonacci series is a series of numbers, starts from 0 and 1. Thereafter, the next number will be the summation of previous two numbers. For example,

`0  1  1  2  3  5  8  13  21.....`

That is, the first and second number is 0 and 1, thereafter

• third number = first+second
• Therefore, third number = 0+1 (equals 1)
• fourth number = third+second
• Thereafter, fourth number = 1+1 (equals 2)
• fifth number = fourth+third
• Thereafter, fifth number = 2+1 (equals 3)
• and so on

Now let's move on and implement it in a C program.

## Fibonacci Series without using Function

The question is, write a program in C to print Fibonacci series upto N term. The value of N must be taken by user (at run-time). The answer to this question is:

```#include<stdio.h>
#include<conio.h>
int main()
{
int a=0, b=1, c, N, temp, i;
printf("Enter the value of N (limit): ");
scanf("%d", &N);
for(i=1; i<=N; i++)
{
if(i==1)
c = 0;
else if(i==2 || i==3)
c = 1;
else
{
temp = a;
a = b;
b = c;
c = a+b;
}
if(i==N)
printf("%d", c);
else
printf("%d, ", c);
}
getch();
return 0;
}```

As the program was written under Code::Blocks IDE, therefore after successful build and run, you will get the following output:

Provide the value of N (limit), that is how many term of Fibonacci series you wants to print:

#### Program Explained

• Initialize the first number say a with 0 and the second number say b with 1 at beginning of the program
• Receive the value of limit say N
• Create a for loop to run from 1 to N (the limit provided by user at run-time)
• Inside the for loop:
• initialize 0 to third number say c if i is equal to 1
• initialize 1 to third number say c if i is equal to 2 or 3
• otherwise, initialize the summation of first and second number say a+b to the third number say c
• Before initializing a+b to c, make sure to initialize b to a and c to b using temp variable
• Then print the value of third number say c

## Using Function to Print Fibonacci

Here is another program that works same as of previous one. The only difference is that this program uses a user-defined function printFibo() to print the Fibonacci series:

```#include<stdio.h>
#include<conio.h>
void printFibo(int);
int main()
{
int N;
printf("Enter the value of N (limit): ");
scanf("%d", &N);
printFibo(N);
getch();
return 0;
}
void printFibo(int n)
{
int i, a=1, b=1, c, temp;
for(i=1; i<=n; i++)
{
if(i==1)
c = 0;
else if(i==2 || i==3)
c = 1;
else
{
temp = a;
a = b;
b = c;
c = a+b;
}
if(i==n)
printf("%d", c);
else
printf("%d, ", c);
}
}```

Here is the final snapshot of the first sample run:

Here is the final snapshot of another sample run:

## Using Function to Return Fibonacci Series

Let's modify the previous program that will also print the Fibonacci series but using the function that returns values. Here we have created a function in such a way that it will return each and every term of Fibonacci series one by one:

```#include<stdio.h>
#include<conio.h>
int getFibo(int);
int main()
{
int N, i, fib;
printf("Enter the value of N (limit): ");
scanf("%d", &N);
for(i=1; i<=N; i++)
{
fib = getFibo(i);
if(i==N)
printf("%d", fib);
else
printf("%d, ", fib);
}
getch();
return 0;
}
int getFibo(int i)
{
static int a=0, b=1, c;
int temp;
if(i==1)
c = 0;
else if(i==2 || i==3)
c = 1;
else
{
temp = a;
a = b;
b = c;
c = a+b;
}
return c;
}```

Here is the final snapshot of the sample run of above program that was created using function with return value:

If user supplies the limit as 10, then 10 starting term of Fibonacci series will be printed at output screen and the function created in above program named getFibo() will also run 10 times to return each and every term of Fibonacci series one by one.

Here I've used static type variable for a, b and c to remember its previous value throughout the program.

#### Same Program in Other Languages

C Online Test

« Previous Program Next Program »

Like/Share Us on Facebook 😋