C语言 不用循环查找一个数组最大值

截图

#include 
#include 

/*
a[]  数组的初始地址
*Max 最大值的返回值
length 初始值为 0
Plength  数组的总长度
*/
int find(int a[], int *Max, int length, int Plength)
{
    
    if(Max == NULL)
    {
        return -1;
    }
    
    if(Plength < 1)
    {
        return 0;
    }


    if(length == 0)
    {
        *Max = a[0]; 
    }
    else if(a[0] > *Max)
    {
        *Max = a[0];
    }
    
    printf("Now Max %d--%d\n",length,*Max);
    
    if(length >= Plength-1)
    {
        return 1;
    }   
    find(&a[1],Max,++length,Plength);
    
    return 1;
    
} 


int main(int argc, char *argv[])
{
    
    int haha[] = {
        2,433,5,12,65,45557,5
    };
    int Max;
    if(find(haha,&Max,0,7) > 0)
    {
        printf("The End , Max is %d\n",Max);
    }
    return 0;
}




你可能感兴趣的:(C语言 不用循环查找一个数组最大值)