#include<stdio.h>
#define N 15
int main()
{
int i, number, top, bott, mid, a[N], flag = 1, sign, loca;
char c;
printf("enter data:\n");
scanf_s("%d", &a[0]);
i = 1;
while (i < N)
{
scanf_s("%d", &a[i]);
if (a[i] >= a[i - 1])
i++;
else
printf("enter this data again:\n");
}
printf("\n");
for (i = 0; i < N; i++)
printf("%5d", a[i]);
printf("\n");
while (flag)
{
top = 0;
bott = N - 1;
sign = 0;
printf("input number to look for:");
scanf_s("%d", &number);
if (number<a[0] || number>a[N - 1])
loca = -1;
while ((!sign) && (top <= bott))
{
mid = (top + bott) / 2;
if (number == a[mid])
{
loca = mid;
printf("Has found %d,its position is %d\n", number, loca + 1);
sign = 1;
}
else if (a[mid] < number)
top = mid+1;
else
bott = mid-1;
}
if (!sign || loca == -1)
printf("cannot find %d.\n", number);
printf("continue or not(Y/N)?");
scanf_s("%c", &c, 1);
if (c == 'n' || c == 'N')
flag = 0;
}
return 0;
}
这个是有什么问题呢,是scanf_s函数输入字符的锅吗