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);
}