Hi!
Also die Anweisung ist echt grausam.
Zur Verständlichkeit etwas C:
Code:
a = 3;
b = 10;
c = (a = b);
a ist jetzt 10, weil ich der Variable den Wert von b zugewiesen hab. Das Ergebnis dieser Zuweisung ist dann
auch der Wert, den ich a zugewiesen hab. c ist jetzt also auch 10.
C hat außerdem das Sprachmerkmal, boolesche Ausdrücke nicht vollständig auswerten zu müssen. Wenn ich z.B. (1 || something()) auswerte, dann wird die funktion something() garnicht ausgeführt, weil das Ergebnis sowieso Eins sein muss.
Also mal wieder aus dem Handgelenk:
Delphi-Quellcode:
tnext := tr[t].d0;
cond := (tnext > 0) and (tr[tnext].rseg = segnum); //vorausgesetzt, segnum ist keine funktion
if not cond then begin
tnext := tr[t].d1;
cond := (tnext > 0) and (tr[tnext].rseg = segnum);
end;
Ich denke, das dürfte es sein.
Gruß, Christoph