首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求帮助 关于c++函数的一个有关问题如何想也不明白

2012-06-08 
求帮助关于c++函数的一个问题怎么想也不明白#includeiostreamusing namespace stdint imax( int array[

求帮助 关于c++函数的一个问题怎么想也不明白
#include<iostream>
using namespace std;
int imax( int array[],int count)
{
int t;
for(int i=0;i<count;i++)
{
if(array[i]>array[i+1])
array[i+1]=array[i];
t=array[i];
}
return t;
}
int imin(int array[],int count)
{
int k;
for(int j=0;j<count;j++)
{
if(array[j]<array[j+1])
array[j+1]=array[j];
k=array[j];
}
return k;
}
int main()
{
int x,y;
int n[]={12,13,15,4,6,333,8,14,99,111};
int s[]={12,13,15,4,6,333,8,14,99,111};
x=10;
y=10;
cout<<"min="<<imin(s,y)<<endl;
cout<<"max="<<imax(n,x)<<endl;
return 0;
}
当改变输出顺序是程序出错
即:cout<<"max="<<imax(n,x)<<endl;
  cout<<"min="<<imin(s,y)<<endl;
想不同为什么,求解答!

[解决办法]
我觉得你不管怎么样都是错误的。
在你的Imax和imin中都有if(array[i]>array[i+1])。如果i=coount-1那么i+1就越界了。肯定是错误的。
[解决办法]
<count-1
[解决办法]
数组下标越界,另外,最好在函数里面判断一下传进来的数组是不是空指针

热点排行