gpt4 book ai didi

c - 如何从重申中获取 bool 值

转载 作者:行者123 更新时间:2023-11-30 20:41:34 25 4
gpt4 key购买 nike

我使用重复进行了二分搜索,但是,当我得到答案( bool 值)时,我似乎在重复中绊倒,无法从函数中得到正确的答案。有人可以帮忙吗?请对代码发表评论。

// binary search
bool
search(int value, int array[], int n)
{

// the array has more than 1 item
if (n > 1)
{
int m = (n/2);

// compares the middle point to the value
if (value == array [m])
return true;

// if the value given is lower than the middle point of the array
if (value < array [m])
{
int *new_array = malloc (m * sizeof(int));

// creating a new array with the lower half of the original one
memcpy(new_array, array, m * sizeof(int));

// recalling the function
search (value, new_array, m);
}


// if the value given is greater than the middle point of the array
else
{
int *new_array = malloc (m * sizeof(int));

// creating a new array with the upper half of the original one
memcpy(new_array, array + (m + 1), (m * sizeof(int)));

// recalling the function
search (value, new_array, m);
}
}

else if (n==1)
{

// comparing the one item array with the value
if (array[0] == value)
return true;

else
return false;

}

if (true)
return true;

else
return false;



}

最佳答案

您需要返回递归搜索的值。

return search (value, new_array, m);

否则,当您调用搜索时,您只是丢弃答案

关于c - 如何从重申中获取 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13295658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com