Q. What will be the output of the following code snippet?

Code:
#include <stdio.h>
int search(int l, int r, int target, int a[]) {
    int mid = (l + r) / 2;
    if(a[mid] == target) {
        return mid;
    }
    else if(a[mid] < target) {
        return search(mid + 1, r, target, a);
    }
    else {
        return search(0, mid - 1, target, a);
    }
}
void solve() {
    int a[] = {1, 2, 3, 4, 5};
    printf("%d", search(0, 5, 3, a));
}
int main() {
    solve();
	return 0;
}
  • (A) 2
  • (B) 3
  • (C) 4
  • (D) 5
πŸ’¬ Discuss
βœ… Correct Answer: (A) 2

You must be Logged in to update hint/solution

πŸ’¬ Discussion


πŸ“Š Question Analytics

πŸ‘οΈ
324
Total Visits
πŸ“½οΈ
4 y ago
Published
πŸŽ–οΈ
Manisha Agrawal
Publisher
πŸ“ˆ
80%
Success Rate