Hallo,
ich hab grad ein C-Problemchen gelöst und wundere mich das Verhalten des Compilers:
Ich habe vergessen eine lokale Variable zu initialisieren bevor ich sie abfrage (jaja, ich schäme mich ja auch dafür)
Aber hätte der Compiler das nicht gleich mit einem "Warning" tadeln müssen ?
Das ist jetzt sicherlich kein Sinnvoller code, daß soll nur das Problem aufdecken.Code:void testfunc(void) { int time; while (1) { if (time > 1) ; } }
Ich habe den Code immer weiter gekürzt, bis dies übrig blieb.
Wenn ich jedoch folgendes schreibe, merkt der Compiler sofort, daß ich vergessen habe "time" zu initialisieren
und warnt korrekterweise mit folgender Meldung: variable "time" is used before its value is set.
Wo ist denn da der Unterschied ? oder was habe ich noch nicht richtig verstanden ?Code:void testfunc(void) { int time; while (1) if (time > 1) ; }
Warum gibt es also in oberen Version keinen Warning ? während dessen in der unteren Version schon ?
Danke vorab für Eure Hilfe
Siro







					
					
					
						
Zitieren
Lesezeichen