Can someone help me with my Binary Search code please? : I don't konw what's wrong with this binary search code of mine. It seems fine to me, but always displaying "not found" in output. I don't know why. Can someone idenyify the problem?



    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #define SIZE 100
    void binarySearch(int, int*);
    
    int arr[SIZE];
    int low = 0, high = SIZE - 1;
    
    int main() {
    	int arr[SIZE] = { 10, 47, 67, 78, 95, 99 };
    	binarySearch(95, arr);
    }
    
    void binarySearch(int key, int *arr) {
    	if (arr[low] == key) {
    		puts("Found!");
    		return;
    	}
    	while (low <= high) {
    		int mid = low + (high - 1) / 2;
    		if (key == arr[mid]) {
    			printf("Data found at index: %d\n", mid);
    			return;
    		}
    		else if (key > arr[mid]) {
    			low = mid + 1;
    		}
    		else {
    			high = mid - 1;
    		}
    	}
    	puts("\nData not found!");
    }