# Recursive program to linearly search an element in a given array using C

Given an unsorted array and an element x, search x in given array. Write recursive C code for this. If element is not present, return -1.

Approach : The idea is to compare x with the last element in arr[]. If an element is found at the last position, return it. Else recur `elmntSrch()` for remaining array and element x.

Program :

``````
/*

* Approach : The idea is to compare x with the last element in arr[].

* If an element is found at the last position, return it.

* Else recur elmntSrch() for remaining array and element x.

*/

#include <stdio.h>

// Recursive function to search x in arr[]

int elmntSrch(int arr[], int size, int x) {

int rec;

size--;

if (size >= 0) {

if (arr[size] == x)

return size;

else

rec = elmntSrch(arr, size, x);

}

else

return -1;

return rec;
}

int main(void) {

int arr[] = {12, 34, 54, 2, 3};

int size = sizeof(arr) / sizeof(arr[0]);

int x = 3;

int indx;

indx = elmntSrch(arr, size, x);

if (indx != -1)

printf("Element %d is present at index %d", x, indx);

else

printf("Element %d is not present", x);

return 0;
}
``````

Output:

``````
Element 3 is present at index 4
``````

## prathmeshyelne

Published on 15-Feb-2022 16:04:30