int binsearch(int list[], int searchnum, int left, int right)// binsearch 의 함수부, list, searchnum(찾고자 하는 번호), left, right 로 정의된 4개의 인자와 함께 사용{int middle; // 본격적인 이진검색 시작// 이진검색의 방법인 middle(가운데수) 구하기, middle=(left+right)/2while(left<=right){middle=(left+right)/2;switch(COMPARE(list[middle],searchnum)){ //가운데수와 찾고자 하는수의 크기 비교case -1: printf("Left : %d 번째의 수 %d Right : %d 번째의 수 %d Middle : %d 번째의 수 %dn",left+1,list[left],right+1,list[right],middle+1,list[middle]);return binsearch(list,searchnum,middle+1,right);break;// 만약 찾고자 하는 수가 // middle(가운데수)의 값보다 크다면 현재의 left와 right, millddle에 해당하는 값을 출력후 순환호출을 사용하여 left는 middle+1(가운데수의 다음수)을 설정한 값으로 전달case 0: printf("Left : %d 번째의 수 %d Right : %d 번째의 수 %d Middle : %d 번째의 수 %dn",left+1,list[left],right+1,list[right],middle+1,list[middle]);return middle; // 만약 찾고자 하는 수가 middle(가운데수)의 값과 같다면 현재의 left와 right, millddle에 해당하는 값을 출력후 결과값으로 middle의 값을 전달