问题描述
- 查找数组的算法,哪里错了
-
#includeint* search(int *p, int n, int x)
{
if (n = 1) return *p == x ? p : NULL;
int *i = search(p, n / 2, x);
if (i) return i;
i = search(&p[n / 2],n-n/2, x);
if (i) return i; else return NULL;
}
int main()
{
int a[] ={1,4,10,17,20,23,51};
int *n = search(&a[0], 7, 10);
printf("%d", *n);
return 0;
}
解决方案
if (n = 1)
->
if (n == 1)
时间: 2024-08-20 04:04:15