ポインターminとmaxがポインターである場所を変更しようとしていますが、「変更」が関数のスコープ外に留まっていないようです(関数の実行後)。関数を実行する前に、*minと*maxを「doublem=0」を指すように設定しました。私は一種のNOOBなので、アドバイスをいただければ幸いです。
int min_max(double * min , double * max , int size , double a[]){
int i;
printf("\n%lg\t%lg\n", *min, *max);
min = &a[0];
max = &a[0];
for (i = 1 ; i < size ; i++) {
if (a[i] > *max)
max = &a[i];
else if (a[i] < *min)
min = &a[i];
}
printf("\n%lg\t%lg\n", *min, *max);
return 0;
}