이분검색 알고리즘 보고 나름 만들었는데

1~10 안에 있는 수는 찾아지는 것 같긴 한데

10 넘어 선 수도 찾는다고 나오네..

어디서 잘못 됐는지 모르겠어;;

하도 간만에 C를 잡아서 감이 다 떨어졌나봐 ㅠㅠ

도와줘 횽아들!!

----------------------------------------------------

// Binary Search

#include<stdio.h>

int binarysearch(int A[], int n, int key){
 int first=0, mid=0, last=n;

 while(first<=last){
  mid = (first+last)/2;

  if(A[mid]=key) return mid;
  
  else{
   if(A[mid]>key)
    last=mid-1;
   else
    first=mid+1;
  }
 }

 return -1;
}

void print(int A[], int n){
 
 for(int i=0; i<n; i++)
  printf(\"%d \",A[i]);

 printf(\"\\n\");
}


int main(void){
 
 int arr[10]={ 1,2,3,4,5,6,7,8,9,10 };
 int returnVal;

 print(arr, 10);

 returnVal = binarysearch(arr, 10, 11);

 if(returnVal>0)
  printf(\"Found 11 \\n\");

 else
  printf(\"Not found 11 \\n\");

 return 0;
 
}