为了账号安全,请及时绑定邮箱和手机立即绑定

#include<stdlib.h> #include<iostream> using namespace std; int getMaxOrMin(int *arr, int count, bool isMax) { int temp = arr[0]; for(int i=1;i<=count;i++) { if(isMax) { if (temp < arr[i]) { temp = arr[i]; } else if (temp >

#include<stdlib.h>
#include<iostream>
using namespace std;
int getMaxOrMin(int *arr, int count, bool isMax)
{
    int temp = arr[0];
    for(int i=1;i<=count;i++)
    {
        if(isMax)
        {
            if (temp < arr[i])
            {
            temp = arr[i];
            }
        else
           if (temp > arr[i])
           {
               temp = arr[i];
           }    
        }
        
    }
    return temp;
}
int main(void)
{
    int arr1[4] = {4,7,3,9};
    bool isMax = false;
    cin>>isMax;
    cout<<getMaxOrMin(arr1,4,isMax)<<endl;
     system("pause");
     return 0;
}
 我运行的时候只出了最小值,然后输入1最大值出不来,而是出现一串奇怪的数字。


正在回答

2 回答

数组下标越界(ArrayIndexOutOfBoundsException)


0 回复 有任何疑惑可以回复我~

在for循环的条件中,i不能<=count,这样,当i等于4时还是满足条件的,i再次加1时,此时数组中没有这个数,所以出现了乱码

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之起航篇
  • 参与学习       291032    人
  • 解答问题       760    个

C++亮点尽在其中,本课程是在C语言基础上的一个延伸,得以升华

进入课程

#include<stdlib.h> #include<iostream> using namespace std; int getMaxOrMin(int *arr, int count, bool isMax) { int temp = arr[0]; for(int i=1;i<=count;i++) { if(isMax) { if (temp < arr[i]) { temp = arr[i]; } else if (temp >

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信