猿问

求教大神为什么最大值输出16380呢

#include <iostream>

#include <stdlib.h>

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()

{

int arr1[4]={3,5,1,7};

bool isMax=false;

cin>>isMax;

cout<<getMaxOrMin(arr1,4,isMax)<<endl;

    return 0;

}


慕哥0036063
浏览 1441回答 1
1回答

asd8532

#include <iostream> #include <stdlib.h> using namespace std; int getMaxOrMin(int *arr,int count,bool isMax) {    int temp=arr[0];    for(int i=1;i<count;i++)//i<=count已经越界了,应该是i<count    { if(isMax) {   if(temp<arr[i])   {      temp=arr[i];   } } else {   if(temp>arr[i])   {      temp=arr[i];   } }          }    return temp; } int main() { int arr1[4]={3,5,1,7}; bool isMax=false; cin>>isMax; cout<<getMaxOrMin(arr1,4,isMax)<<endl;     return 0; }
随时随地看视频慕课网APP
我要回答