指针比大小函数循环里初始值的影响

在用指针进行一个比较多大小的时候

#include 
#include 
void minmax(int a[], int len, int *min, int *max);
int main(void) {
    int a[]={-1,2,3,4,5,6,9,10,12,13,14,22,55};
    int min,max;
    minmax(a,sizeof(a)/sizeof(a[0]),&min,&max);
    printf("min=%d,max=%d",min,max);
    return 0;
}

void minmax(int a[],int len , int *min ,int *max){
    int i;
    *min = *max = a[0];
    for(i=1;iif(a[i]>*max){
            *max=a[i];
        }
        if(a[i]<*min){
            *min=a[i];
        }
    }
}

minmax函数里面for循环中i=1或i=0是否会有影响

没影响,因为已经将a[0]设置为初始的最大最小值。如果i=0开始,无非是做一次无效的比较而已

没影响,a[0]已经被赋值给max和min,可测可不测。