Zitat von
Luckie:
Und dass man innerhalb einer Schleife so nicht die Zählvariable manipulieren kann, ist allseits bekannt.
Naja, aber nicht bei C, Java, etc. Dort ist das schon möglich. In Pascal ist das, will man keine Warnung produzieren, nur über den Zeiger-Umweg möglich. Warum, würde mich auch interessieren, ich vermute aber aufgrund der mathematisch-logischen Orientierung von Pascal.
Zitat von
Neutral General:
Zitat von
Hansa:
Die Zählvariable hat immer einen um 1 erhöhten Wert außerhalb der Schleife. Das ist kein Zufall.
Würde mich ja mal interessieren warum das so ist
Gehen wir mal von folgender (nicht-optimierten) for-Schleife aus:
Delphi-Quellcode:
for i := 0 to 7 do
begin
end;
Diese könntest du (unter Erzeugung des prinzipiell gleichen Maschinencodes) in folgende while-Schleife umwandeln:
Delphi-Quellcode:
i := 0;
while i <= 7 do
begin
Inc(i);
end;
Ist jetzt klar, warum?