success (0, (1, 2)) (1, (a, 3, 3)) (2, (b, 3, 3)) (3, (0, 0)) (4, (0, 0)) david@works:~\$gibt er aus und ohne
(0, (0, 0)) (1, (a, 663684736, 663684736)) (2, (b, 0, 0)) (3, (0, 0)) ===================================== Speicherzugriffsfehler (Speicherabzug geschrieben) Das steht so da: int gettoken () { if (i >= (strlen (expr))) return -1; printf ("-------------------------------n"); printf ("%cn", expr [i]); printf ("-------------------------------n"); return expr [i++]; } Das kann ich mir nicht erkl"aren.
Dann mache ich halt so weiter - das ist ein Hardware Bug oder was weiss ich - ein Bug im Kernel. Das ist nicht mein Problem - es kann sein, ich habe mit der EA was falsch gemacht, oder eine Variable falsch initialisiert. Logisch ist das trotzdem nicht. Mir ist das egal. Weil das Programm tut und wenn der Computer das von mir verlangt, dass ich da printf hinschreibe, gut meinetwegen, dann mache ich das. Das Programm tut dafür, dann mache ich das.
Das ist das Ergebnis von
"[a,[b,c]]"
success (0, (1, 2)) (1, (a, 6, 6)) (2, (3, 4)) (3, (b, 5, 5)) (4, (c, 5, 5)) (5, (6, 6)) (6, (0, 0)) (7, (0, 0))Dafür muss man auch nicht üben, wie die junge Frau, da unten gerade meinte - weil: Wenn man schreibt
variable xyz printf xyz
variable xyz xyz
Dann hat der Unterschied, ausser der Ausgabe, so gesehen keine Auswirkungen, wenn es doch passiert, ist entweder meine Doofheit oder Meltdown und Spectre oder wie der heisst. Keine Algorithmus ist richtig, das ist alles was mich interessiert.
Das ist vollkommen.