これは、再帰的二分探索アルゴリズムを使用した C プログラムですが、実行すると、二分探索関数にアクセス セグメンテーション違反があるとデバッガーに表示されます。これはなぜですか、どうすれば修正できますか?
再帰的二分探索関数は次のとおりです。
int binSearch(int val, int numbers[], int low, int high)
{
int mid;
mid=(low+high)/2;
if(val==numbers[mid])
{
return(mid);
}
else if(val<numbers[mid])
{
return(binSearch(val, numbers, low, mid-1));
}
else if(val>numbers[mid])
{
return(binSearch(val, numbers, mid+1, high));
}
else if(low==high)
{
return(-1);
}
}
ありがとうございました :)