Hola.
Siempre qué no pueda evitarse ya sea por razones de rendimiento, comunicación entre procesos, etcétera, tiene caso utilizar una variable "global". Como opción valida puedes usar un tercer argumento como puntero para obtener el cociente.
Algo como esto, solo valido para números naturales:
int foo(int a, const int b, int* c)
{
if( a < b ) return a;
else
{
++*c;
return foo(a - b, b, c);
}
}
/* --- */
int main()
{
int c = 0;
printf("cociente = %d; resto = %d\n", c, foo(166, 51, &c));
return 0;
}
También se pueden empaquetar ambos valores en un agregado del tipo estructura o array para ser retornados o pasados como argumento-puntero, pero es algo más engorroso en la codificación.
Un saludo.