ich habe folgendes Problem:
eine kleine Prozedur, die rekursiv eine Summe errechnen soll, funktioniert einwandfrei bis zum 8. Summanden, liefert aber beim 9. Summanden das Ergebnis NaN. Coding:
Code: Alles auswählen
Procedure.d summe(exp$)
trm$=StringField(exp$,1,"+")
exp$=RemoveString(exp$,trm$,#PB_String_CaseSensitive,1,1)
If exp$=""
ProcedureReturn ValD(trm$)
Else
exp$=RemoveString(exp$,"+",#PB_String_CaseSensitive,1,1)
ProcedureReturn ValD(trm$)+summe(exp$)
EndIf
EndProcedure
Code: Alles auswählen
lin$="1+2+3+4+5+6+7+8"
Debug summe(lin$)
Der Aufruf mit
Code: Alles auswählen
lin$="1+2+3+4+5+6+7+8+9"
Debug summe(lin$)
Laut Help sind rekursive Prozedurenaufrufe aber möglich:
"In PureBasic wird bei Prozeduren die Rekursion voll unterstützt, jede Prozedur kann sich auch selbst aufrufen."
Hat jemand eine Idee woran das liegen könnte, dass die Prozedur beim 9. Summanden NaN liefert?
Viele Grüße von
Argus