Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#26

Re: For-Schleife von 0 bis 7 fängt bei 8 an

  Alt 15. Dez 2004, 15:27
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?
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat