编辑代码

#include <stdio.h>

int find(int arr[], int left, int right, int k) {
    while (left <= right) {
        int mid = left + (right-left)/2;
        if (arr[mid] < k)
            right = mid - 1;     
        else if (arr[mid] > k)
            left = mid + 1;
        // 元素k存在,返回元素索引
        else
            return mid;
    }
    // 元素k不存在则返回-1
    return -1;
}

int main() {
    int arr[] = {85, 63, 52, 34, 25, 17, 6};
    int n = sizeof(arr) / sizeof(arr[0]);
    int k =6;
    int result = find(arr, 0, n - 1, k);
    printf("该元素的索引是:%d",result);

    return 0;
}