ich hab mir vor einiger zeit C beigebracht
nun bin ich in der ausbildung und lern C++
in der schulaufgabe habe ich ne 4 bekommen und bin mit meinem lehrer am diskutieren
wir hatten eine aufgabe, ein programm zu schreiben, bei dem am ende eine abfrage stattfindet, ob man den vorgang wiederholen möchte
ich habe es so geschrieben
int main(void)
{
char c_eingabe;
do
{
...
return (0);
do
{
int variable = 0, andere = 0;
bla bla quellcode bla bla
}while(c_eingabe == 'j');bla bla quellcode bla bla
...
return (0);
}
mein lehrer will mir darauf keine punkte geben, weil er sagt ich kann nicht innerhalb einer do/while zum initialisieren anfachen
ich meinte natürlich ginge es und bei mir funktioniere es und ich könne es ihm zeigen
er wollte sich gar nicht drauf einlassen und meinte wenn es so funktioniert hätte ich glück und ich programmiere schlecht
ich war dann ganz verunsichert
es gibt doch static (wenn sie noch so heißen) die ich global auserhalb der main initialisieren kann und local variablen die nur innerhalb der blöcke gelten
warum ich das so geschrieben habe? ich wollte, wenn man den vorgang nochmal durchläuft, die variablen gleich mit 0 als wert definiert werden
macht das nur mein compiler so oder ist das generell in c++ erlaubt?
macht es einen unterschied ob ich am ende der while-schleife die variablen auf 0 setze, wenn die bedingung zutrifft oder ob ich sie gleich am anfang initialisiere?