Tengo una función recursiva con un for dentro de llamaas recursivas. El programa hace muchísimas llamadas recursivas y acaba desbordandose "algo", porque cuando hago que no ejecute tanto, todo funciona perfectamente.
El programa es gigante, pero básicamente el esquema de dicha función es:
main()
{
valor = función(fgdfgdfgdfgdf)
}
int funcion(dfgdfgdfgdf)
{
_____fdfdfdf
_____dffdfdfdf
_____if (gfgdfg)
_____{
_________for (i=0;i<var;i++)
_________{
______________var_final = var_final + funcion(ghfghgfhgfhgfh);
______________if (fgfgfgf) {return(va_final);}
_________}
_____}
_____return(var_final);
}
No se si es porque se deja mucha información en pila, o porque la vuelta de la recurividad esta mal (muy posible).
El caso es que con pocas llamadas todo funciona perfectamente.
Necesito ayuda.
Gracias por vuestra atención.