-
Nein, ist es eben nicht. Das zweite return ist unreachable code. Und damit falsch. Es gibt nicht eine if-Abfrage und somit ist nur ein return zulässig.
Und die Umwandlung einer for-Schleife in eine while mit if-Bedingungen würde mich echt mal interessieren... Und was das Umschreiben in Assembler bringen soll, ebenso.
-
Nein. Das erste return IST bedingt. und somit erkennt der Compiler nur, wenn er sieht dass die Schleife in jedem Fall einmal durchlaufen wird () nur dann wird das erste return nämlich erreicht, dass das zweite unreachable code ist.
Genau, damit du siehst dass es bedingt ist!Und die Umwandlung einer for-Schleife in eine while mit if-Bedingungen würde mich echt mal interessieren... Und was das Umschreiben in Assembler bringen soll, ebenso.
So und hier mal eine forschleife als Konstrukt (mit sprungmarke wie in assembler
Ich habe absichtlich auf assemblersyntax verzichtet. Aber das Prinzip sollte klar sein oder?Code :1 2 3 4 5 6 7 8
int i = 0; int max = 20; for: tueIrgendwas i++; falls max<=i springe zu end_for; springe zu for end_for: ende des beispiels.
Nun folgendes:
Code :1 2 3 4 5 6 7
void seltsam(){ for(int i = 0; i>10; i++){ // wird NIE ausgeführt; die 10 kann auch ne Variable sein, womit der Compiler dies NICHT sehen kann return 22; } tueIrgendwas(); return 345; }Geändert von Orbit (15.10.08 um 14:17 Uhr)
-
Aye, Du hast natürlich recht!
Dass das erste return in einer for-Schleife stand, hab ich völlig ignoriert
Sorry.
edit
Fällt Dir was aufCode :1 2 3 4 5 6 7
[b]void[/b] seltsam(){ for(int i = 0; i>10; i++){ // wird NIE ausgeführt; die 10 kann auch ne Variable sein, womit der Compiler dies NICHT sehen kann [b]return 22;[/b] } tueIrgendwas(); [b]return 345;[/b] }
Geändert von epic fail (15.10.08 um 14:27 Uhr)
-
War auch ein wenig schlecht sichtbar, weil der Code in der forschleife nicht eingerückt war.
@proXXic
Genau deshalb sollte man sich an solche Konventionen halten!
Immer mit Einrücken arbeiten und eine forschleife am besten so beenden, dass man das Semikolon am ende sieht, also in einer neuen Zeile.
Wenn du 500 Zeilen Quelltext lesen musst, ist es extrem zeitaufwendig, sich das ende einer Schleife erst suchen zu müssen!
also aus
(Achtung semantisch + syntaktisch unbrauchbarCode :1 2 3
for ( i=0 ; i <4 ; i++ ){ int zufall = random.nextInt(10); return getRandomArray;}
)
mache demnächst
um Missverständnissen vorzubeugen....Code :1 2 3 4
for ( i=0 ; i <4 ; i++ ){ int zufall = random.nextInt(10); return getRandomArray; }
Gruß,
Orbit
Ähm, dass ich void angebe aber int zurückgebe?edit
Code:
void seltsam(){
for(int i = 0; i>10; i++){ // wird NIE ausgeführt; die 10 kann auch ne Variable sein, womit der Compiler dies NICHT sehen kann
return 22;
}
tueIrgendwas();
return 345;
}
Fällt Dir was aufGeändert von Orbit (15.10.08 um 14:34 Uhr)
Ähnliche Themen
-
Zufallszahlen
Von Soul-ya im Forum C/C++Antworten: 27Letzter Beitrag: 15.03.10, 15:47 -
Zufallszahlen
Von kimi im Forum JavaAntworten: 6Letzter Beitrag: 01.01.10, 19:55 -
Probleme mit Zufallszahlen im Array?
Von jackie05 im Forum Delphi, Kylix, PascalAntworten: 15Letzter Beitrag: 28.01.09, 11:15 -
Zufallszahlen
Von WorldRacer im Forum C/C++Antworten: 2Letzter Beitrag: 13.06.08, 23:19 -
Zufallszahlen
Von phil_2003 im Forum C/C++Antworten: 7Letzter Beitrag: 24.02.07, 19:12



2Danke


Zitieren
Login





