简单的例子: 查找list[]中的最大值:int Largest(int list[], int length);
首份实现代码如下: int Largest(int list[], int length)
{
int i,max;
for(i = 0; i < (length – 1); i ++ )
{
if(list[i] > max)
{
max=list[i];
}
}
return max;
}
1》首先该代码的max没有初始化,然后调用该函数出现下面情况
2》初始化为0后,出现如下情况:
3》该情况是由于循环里的length-1,将其改为length
4》但是当输入全是负数时
5》所以不能将其初始化为0,应该初始化为list[0],结果为
6》但是没有考虑到长度为0的情况,出现如下问题
7》当长度为0时,设置函数,令其显示输入错误
8》源代码为:
#include<iostream>
using namespace std;
int Largest(int list[],int length){
int i;
int max=list[0];
if(list==NULL||length==0)
{
return -99999;
}
else
{
for(i=0;i<(length);i++)
{
if(list[i]>max)
{
max=list[i];
}
}
}
return max;
}
void main(){
int list[100];
int length;
cout<<"请输入数组长度"<<endl;
cin>>length;
cout<<"请输入"<<length<<"个数"<<endl;
for(int i=0;i<length;i++)
{
cin>>list[i];
}
int c=Largest(list,5);
if(c==-99999)
{
cout<<"输入有误!"<<endl;
}
else
{
cout<<"最大值为"<<c<<endl;
}
}
8》几组测试结果: