C++ 数组函数没有返回正确的结果

标签 c++ arrays max

我正在编写一个函数来返回数组的最大值,但目前它没有返回正确的值。

功能:

int findMax(int maximum[ARRAY_SIZE])
{   
    int largest=maximum[0];

     for(int i=0;i<ARRAY_SIZE;i++)
    {
        if (maximum[i]>largest)
        {
          return largest=maximum[i];
        }
    }
}

主要功能部分:

cout<<"Maximum number: "<< findMax(numbers) <<endl;

最佳答案

return largest=maximum[i]; 此行将使您的循环通过返回找到的第一个元素提前返回。

可能您只想执行 largest = maximum[i]; 然后在循环后 return largest;

但你使用的是 C++,为什么你需要自己滚动 findMax 函数:

int array[] = {1,100,65,21,12,5};
int* max = ::max_element(begin(array), end(array));

关于C++ 数组函数没有返回正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33547686/

相关文章:

c - 最小-最大选择——那是什么算法?

WCF 服务 - 尽管最大值很大,但根据大小几乎立即拒绝数据

c++ - 条件运算符中的未定义行为

c++ - 是 *this = Ctor();清除对象状态合法有效?

c++ - 如何用qt分发代码?

php - 将关联数组转换为具有值的多维数组

c - 我动态分配的结构体指针数组有什么问题?

javascript - 为什么 Math.min() 返回正无穷大,而 Math.max() 返回负无穷大?

c++ - 如何使用 Libwebp 从 Webp 解码和编码?

c++ - 在 C++ 中存储变量