用折半查找法找数组中数的位置

#include
int main()
{
int a[15]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14},loca,bott,flag,sign,number,mid,top;
char c;
while (flag)
{
top = 0;
bott = 15 - 1;
sign = 0;
printf("input number to look for:");
scanf("%d", &number);
if (numbera[15 - 1])
loca = -1;
while (sign==1&&top<=bott&&loca>=0)
{
mid = (top + bott) / 2;
if (number == a[mid])
{
loca = mid;
printf("找到了,数%d在数组的第%d位.\n", number, loca + 1);
sign = 0;
}
else if (number
top = mid-1;
else
bott = mid+1;
}
if (sign==1 || loca == -1)
printf("\n查无此数\n");
printf("\n是否继续查找?(Y/N)?");
scanf("%c", &c); getchar()
if(c=='N'||c=='c')
flag = 0;
}

flag都没有初值,你这循环一开始能执行吗

while (flag) flag你都没有初始化......
if (numbera[15 - 1]) //numbera是啥东东????
loca = -1;