下記の関数は、ある条件下において不明瞭な値を返す場合がある。
*それはどの様な条件なのか????????


int func_A(int x, int a[], unsigned int c, unsigned int d)
{
unsigned int m;

while (c < d) {
m = (c + d) >> 1;
if (a[m] >= x) d = m;
else c = m + 1;
}
if (a[c] == x) return c;
return 0;
}