我輸入一個(gè)非零的數(shù),運(yùn)行結(jié)果是 1606416392,但是我的數(shù)組是{1,2,3,4}。當(dāng)我輸入0時(shí),運(yùn)行結(jié)果是 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;
?? ?
?? ?
?? ?
}
2017-05-01
?for(int i=1;i<=count; i++)
? ? ? ? {
? ? ? ? ? ? if(temp<arr[i])
? ? ? ? ? ? ? ? temp=arr[i];
? ? ? ? }
for 循環(huán)里不要用<=count ,數(shù)組下標(biāo)會(huì)越界,寫<count就ok了.