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

我输入一个非零的数,运行结果是 1606416392,但是我的数组是{1,2,3,4}。当我输入0时,运行结果是 1。这是怎么回事????

#include<iostream>

#include<stdlib.h>

using namespace std;

namespace A

{

    int GetMaxOrMin(int *arr,int count,bool isMax)

{

    int temp=arr[0];

    if(isMax)

    {

        for(int i=1;i<=count; i++)

        {

            if(temp<arr[i])

                temp=arr[i];

        }

    }

    else

    {

        for(int i=1;i<=count; i++)

        {

            if(temp>arr[i])

                temp=arr[i];

        }

    }

    return temp;

}


}

int main(void)

{

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

    int count=4;

    bool ismax=false;

    cin>>ismax;

    cout<<A::GetMaxOrMin(arr1,count,ismax)<<endl;

    

    

    

}


正在回答

1 回答

 for(int i=1;i<=count; i++)

        {

            if(temp<arr[i])

                temp=arr[i];

        }

for 循环里不要用<=count ,数组下标会越界,写<count就ok了.

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

YiShen23 提问者

明白了,谢谢
2017-05-01 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

我输入一个非零的数,运行结果是 1606416392,但是我的数组是{1,2,3,4}。当我输入0时,运行结果是 1。这是怎么回事????

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