C++ 只能检查数组的第一个元素
我在for循环中迭代数组时遇到了一些问题。 此函数的作用是检查数字是否已放置在数组的其他位置,以便不会出现重复的数字。 当我运行函数时,它只遍历函数的第一个元素并停止C++ 只能检查数组的第一个元素,c++,arrays,C++,Arrays,我在for循环中迭代数组时遇到了一些问题。 此函数的作用是检查数字是否已放置在数组的其他位置,以便不会出现重复的数字。 当我运行函数时,它只遍历函数的第一个元素并停止 bool check(int wins[], int number) { for (int i = 0; i <= arraySize; ++i) if (number == wins[i]) { return true; }
bool check(int wins[], int number)
{
for (int i = 0; i <= arraySize; ++i)
if (number == wins[i])
{
return true;
}
else if (number != wins[i])
{
return false;
}
}
bool检查(整数赢[],整数编号)
{
对于(int i=0;i而言,您的缩进是误导性的。发生的情况如下:
bool check(int wins[], int number)
{
for (int i = 0; i <= arraySize; ++i)
if (number == wins[i])
{
return true;
}
else if (number != wins[i])
{
return false;
}
}
bool检查(整数赢[],整数编号)
{
对于(int i=0;i)您在第一次检查后无条件返回。删除else分支。不相关,我怀疑i
bool check(int wins[], int number)
{
for (int i = 0; i < arraySize; ++i) // assuming that arraySize is some const size of the array
if (number == wins[i]) // if number is found
{
return true; // return immediately
}
// if you arrive here, the loop finished without a match
return false;
}