C program to print elements of array using recursion

Write a C program to print all elements of array using recursion. How to display all elements of an array using recursion. Logic to print array elements using recursion in C programming.



Input size: 10
Input elements: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10


Array elements: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Required knowledge

Basic C programming, If else, Functions, Recursion, Array

Learn more - Program to read and display array elements using loop.

Logic to print array elements using recursion

Let us first define our recursive function to print array elements, say printArray(int arr[], int start, int len). The function takes three parameters where first is array to print, second is starting index from where we want to print array and last is length of the array or upper limit to print elements in array. Here

  • start >= len is used as base condition of recursion. Which will exit function control to the caller function.
  • If base condition is not satisfied then print arr[start].
  • After printing array element make recursive call to print successive array element i.e. printArray(arr, start + 1, len);.

Program to print array elements using recursion

 * C program to print array elements using recursion.

#include <stdio.h>
#define MAX_SIZE 100

/* Function declaration */
void printArray(int arr[], int start, int len);

int main()
    int arr[MAX_SIZE];
    int N, i;
    /* Input size and elements in array */
    printf("Enter size of the array: ");
    scanf("%d", &N);
    printf("Enter elements in the array: ");
    for(i=0; i<N; i++) 
        scanf("%d", &arr[i]);
    /* Prints array recursively */
    printf("Elements in the array: ");
    printArray(arr, 0, N);
    return 0;

 * Prints an array recursively within a given range.
void printArray(int arr[], int start, int len)
    /* Recursion base condition */
    if(start >= len)
    /* Prints the current array element */
    printf("%d, ", arr[start]);
    /* Recursively call printArray to print next element in the array */
    printArray(arr, start + 1, len); 


Enter size of the array: 10
Enter elements in the array: 1 2 3 4 5 6 7 8 9 10
Elements in the array: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

Happy coding 😉

About Pankaj

Pankaj Prakash is the founder, editor and blogger at Codeforwin. He loves to learn new techs and write programming articles especially for beginners. He works at Vasudhaika Software Sols. as a Software Design Engineer and manages Codeforwin. In short Pankaj is Web developer, Blogger, Learner, Tech and Music lover.

Follow on: Twitter | Google | or

Comments and discussion
Have a doubt, write here. I will help my best.
Before commenting you must escape your source code before commenting. Paste your source code inside
<pre><code> ----Your Source Code---- </code></pre>