#include <iostream>
using namespace std;
int func(const int a[], int len)
{
if (a == NULL)
return -1;
if (len < 2)
{
cout<<"数组长度小于2, 无需比较"<<endl;
return a[0];
}
int max = a[0];
int second = a[0];
for (int i=1; i<len; i++)
{
if (a[i] > max) // 更新最大值和第二大值
{
second = max;
max = a[i];
}
else if (a[i]>second && a[i]<max)
{
second = a[i]; // 更新第二大值
}
}
return second;
}
int main(int argc, char *argv[])
{
int num[] = {1, 2, 3, 5, 9, 8};
int len = sizeof(num)/sizeof(num[0]);
int ret = func(num, len);
if (ret != -1)
{
cout<<"Second = "<<ret<<endl;
}
return 0;
}
结果:
second = 8