Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 11:55

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: for-Schleife zählt nicht
BeitragVerfasst: Fr Dez 16, 2005 15:59 
Offline
DGL Member
Benutzeravatar

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:
  1.  
  2. var x : integer
  3. begin
  4.   // [...]
  5.   for x := 0 to 175 do
  6.     begin
  7.       // Tue ein paar sachen (x wird nicht verwendet)
  8.     end;
  9. end;
  10.  

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?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 16, 2005 16:06 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
x ist nur innerhalb der schleife valide. also in "do some stuff". danach solltest du sie als uninitialisiert betrachten.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 16, 2005 16:16 
Offline
DGL Member
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 16, 2005 17:10 
Offline
DGL Member

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.

_________________
MfG SonicFX


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 16, 2005 17:19 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 16, 2005 17:32 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Besonders aufpassen sollte man, wenn man eine Schleife so definiert:
Code:
  1. for i := Low(Array) to High(Array) do
  2. begin
  3.   // domestuff
  4. end;

Dann nämlich kann es vorkommen, dass i nicht von 0 aus hochzählt, sondern tatsächlich von High downto Low zählt...

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 18, 2005 02:30 
Offline
Guitar Hero
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 18, 2005 02:57 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Falls man die Variable nach der Schleife nochmal liest ohne sie voher zu beschreiben gibt es doch auch eine Warnung.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 16 Queries | GZIP : On ]