每次在C ++中返回false

时间:2016-11-16 16:02:16

标签: c++

我做了一个简单的顺序搜索功能,所以当我测试它时,如果我把25放入我的搜索项目它返回true,但其他数字90,21总是假的我不能明白为什么要这样做。

select2()

2 个答案:

答案 0 :(得分:8)

如果您的元素不在第一个位置,则返回false。试试这个

bool sequentialSearch(int searchItem, int * a, int size)
{
    for(int i = 0; i < size; i++)
    {
        if(searchItem == a[i])
        {
            return true;
        }
    }
    return false;
}

答案 1 :(得分:3)

你的for循环最终只检查第一项,然后返回true或false。您需要更改逻辑以执行类似

的操作
for( . . . )
{
    if(searchItem == a[i]) return true;
}
return false;

这样它将测试数组中的每个项目,如果没有找到则返回false。