输入不相同的8个数值,分别通过指针和return语句获得最大最小值下标

下图的代码始终没有输出,问题会在哪里(而且在主函数里面无论加什么printf语句都没有输出)

#include<stdio.h>

int findMinMax(int b[],int *maxIndex); /*最大值的下标通过指针带回,最小值的下标通过return返回 */

int main()
{
    int a[8];
    int min,max,i;

    for(i=0;i<8;i++)
        scanf("%d",&a[i]);  /*数不会重复,即没有相同的数*/

    /* 调用函数 findMinMax */
    int *p=NULL;
    min=findMinMax(a,p);
    max=*p;



                
    printf("%d %d",min,max);
    
    
    return 0;
}

/* 完成函数 findMinMax 的实现,最大值的下标通过指针带回,最小值的下标通过return返回 */
int findMinMax(int b[],int *maxIndex)
{
    int i;
    int max=b[0];
    int min=b[0];
    int str1=0;
    int str2=0;
    for(i=0;i<8;i++)
    {
        if(max<b[i])
        {
            max=b[i];
            str1=i;
        }
        if(min>b[i])
        {
            min=b[i];
            str2=i;
        }
    }
    *maxIndex=str1;
    return str2;
    
}

第14行,修改为:int* p = &max; //int* p = NULL;