我正在编写一个函数以返回数组的最大值,当前它未返回正确的值。

功能:

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;

最佳答案

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

当找到较大的值时,loop语句将停止,它可能不会检查数组中的所有元素。
应该进行如下修改:
for(int i=0;i<ARRAY_SIZE;i++)
    {
        if (maximum[i]>largest)
        {
          largest=maximum[i];
        }
    }
return largest;

每次检查数组中的元素时,如果它大于当前最大值,则将最大值更新为当前元素。最后返回最大值

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

10-09 03:51