Hola Diego.
Si hay una instrucción luego de la llamada, la multiplicación por n, la cual se ejecuta luego de obtener el resultado de fac(n-1).
Te sugiero reescribir el código para verlo mas claro:
int result;
if ( n==0)
result = 1;
else {
int f = fac(n-1)
result = n*f;
}
return result;