编辑代码

#include <stdio.h>

int binarySearch(int arr[], int size, int k) {
    int low=0;
    int high=size-1;
    while (low<=high) {
        int mid = low + (high - low) / 2;
        if (arr[mid] == k) {
            return mid; // 返回元素索引
        } else if (arr[mid] < k) {
            low = mid + 1;
        } else {
            high = mid - 1;
        }
    }
    return -1; //未找到元素,返回-1
}

//主函数进行测试
int main() {
    int arr[] = {6,17,25,34,52,63,85}; 
    int size = sizeof(arr) / sizeof(arr[0]);
    int key = 6;
    int result = binarySearch(arr, size, key);
    if (result != -1) {
        printf("元素 %d 存在于数组中,索引为:%d。\n", key, result);
    } else {
        printf("元素 %d 不存在于数组中。\n", key);
    }
    return 0;
}