non assegni mai alcun valore alle variabili min e max del main... per questo ti escono fuori quei numeri!

Penso di aver capito cosa non hai capito:

Quando richiami una funzione devi immaginare che al posto di mm(num1,num2,num3) ci sia il valore di ritorno della funzione mm!

esempio:

codice:
#include <stdio.h>
#include "funcMM.c"

main(){
int max, min;
mm(8,2,15); <-- qui è come se ci fosse 15!
printf(" mass = %d \n minim = %d \n", max, min);
}

siccome il numero non lo assegni a nessuna variabile, il valore di ritorno si perde!
Devi comunque tenere conto che max e min del main sono due variabili distinte da max e min della tua funzione!
In ogni caso 2 return non si possono mettere nella funzione in quel modo perchè il secondo return non viene mai eseguito!

Quindi dovresti fare una cosa come ti hanno suggerito prima:
max = mm(8,2,15); //equivale a fare max = 15!