Registriert: So Jun 13, 2004 17:17 Beiträge: 43 Wohnort: GER/OBB/TÖL-WOR/Icking
Hi Leute,
ich bin grad total am verzweifeln, ich hab in meinem Programm ne ganz normale for-Schleife:
Code:
var x : integer
begin
// [...]
for x := 0 to 175 do
begin
// Tue ein paar sachen (x wird nicht verwendet)
end;
end;
allerdings setzt sie laut Debugger weder am Anfang x auf 0 noch zählt sie x hoch, sondern der Wert bleibt gleich dem, den x vor der Schleife hatte.
Hat irgendjemand eine Idee, woran das liegen könnte?
Registriert: So Jun 13, 2004 17:17 Beiträge: 43 Wohnort: GER/OBB/TÖL-WOR/Icking
thx, dachte da läge mein fehler, war aber was anderes
ich wusste nicht dass im debugger die variable innerhalb der schleife nicht abfragbar ist wenn ich sie dort nicht benutze
Registriert: So Okt 23, 2005 08:45 Beiträge: 9 Wohnort: Dresden
luketheduke hat geschrieben:
x ist nur innerhalb der schleife valide. also in "do some stuff". danach solltest du sie als uninitialisiert betrachten.
Währe mir neu... bei mir bleibt die Variable immer 1 höher als der letzte verwendete Schleifenwert (bei aufsteigender Zählung, da erst erhöht und dann geprüft wird).
Allerdings will ich meine Hand nicht ins Feuer legen.
Registriert: Sa Nov 13, 2004 11:00 Beiträge: 229 Wohnort: Steinhude
meistens ist das so, allerdings zählt es prinzipiell als undefiniert, da bei optimierungen iirc awenn möglich runter statt raufzählen kann oder auch, wenn die variable nicht mehr benutzt wird diese komplett aus dem speicher schmeißen.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich glaube, wenn die Zählvariable nach der SChleife nochmal verwendet wird (ohne den Wert zu ändern) dann Optimiert der Compiler da nix. Da wird ganz normal hochgezählt und anschließend hat man Zählvariable = Obergrenze+1.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.