我正在尝试在 C 中创建一个递归二进制搜索函数。我想我有它,但是当我尝试编译时,对于两个递归调用,我都收到错误“在 ']' 标记之前的预期主表达式”。有谁知道为什么会这样?
我的功能:
int binSearch(int val, int a[], int size)
{
int mid;
mid=(size)/2;
if(val==a[mid]) return a[mid];
else if(val<a[mid]) {
return binSearch(val, a[], (size-mid));
}
else if(val>a[mid]) {
return binSearch(val, a[], size);
}
else return(-1);
}
其中 a[] 是排序后的数组,size 是数组的大小,val 是要搜索的值。