As the code is been repeated in binary search so we can use the same code again recursively. So lets take the follow up:
int binary_search(int arr[],int low,int high,int target)
{
if(low>high) return -1;
mid = low + (high-low)/2;//to avoid overflow case
if(arr[mid]==target) return mid;
else if(arr[mid]<target) return binary_search(arr,mid+1,high,target);
return binary_search(arr,low,mid-1,target);
}