编辑代码

#include <stdio.h>

int binarySearch(int arr[], int low, int high, int k) {
    if (low <= high) {
        int mid = low + (high - low) / 2;
        
        if (arr[mid] == k) {
            return mid;
        }
        
        if (arr[mid] < k) {
            return binarySearch(arr, low, mid - 1, k);
        }
        
        return binarySearch(arr, mid + 1, high, k);
    }
    
    return -1;
}

int main() {
    int arr[] = {85, 63, 52, 34, 25, 17, 6};
    int n = sizeof(arr) / sizeof(arr[0]);
    int k = 6;
    
    int index = binarySearch(arr, 0, n - 1, k);
    if (index != -1) {
        printf("元素 %d 存在于数组中,下标为 %d\n", k, index);
    } else {
        printf("元素 %d 不存在于数组中\n", k);
    }
    
    return 0;
}