Sprungbefehl/Labels in C
-
Ich habe eine frage an Euch. Gibt es die Möglichkeit einen Sprungbefehl durchzuführen, wenn mann ziehmlich am Ende des Quellcode in die Mitte des Quellcodes zu springen. In der Assamblersprache wird dies durch Labels gemacht gibt es auch sowas in C?
Da goto ja nur nach untern springt und nicht nach oben ist die leider der falsche Befehl.
Danke im Vorraus Tobias
-
Erstens bist du im falschen Forum (C-Fragen sollten ins C-Forum) und zweitens kann goto nach oben Springen.
-
Dieser Thread wurde von Moderator/in CMatt aus dem Forum C# und .NET in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Auf goto solltest du allerdings verzichten, das führt nur zu unübersichtlichem code.
-
jo, aber das sollte man selber wissen wann man es einsetzt. selten kann es auch von nutzen sein. sprungmarken/labels werden IMHO so gemacht:
:name // und dann natürlich wonders: goto name
-
loki1985 schrieb:
jo, aber das sollte man selber wissen wann man es einsetzt. selten kann es auch von nutzen sein. sprungmarken/labels werden IMHO so gemacht:
Gerade Anfänger sollten aber erstmal ohne auskommen. Und wer nicht weiß wie es geht, ist definitiv ein Anfänger.
-
versuche deinen quellcode in methoden aufzuteilen dann kannst du diesen immer wieder aufrufen und musst nicht herumspringen das macht man als ordentlicher c progger eigntlich nicht nur in extremen ausnahmezustaenden waenn es sonst gar nicht mehr geht... trotz alledem finde ich goto manchmal echt nicht schlecht denn dann kann man so schön brutal sein... :p
-
Tobias78 schrieb:
Gibt es die Möglichkeit einen Sprungbefehl durchzuführen, wenn mann ziehmlich am Ende des Quellcode in die Mitte des Quellcodes zu springen. In der Assamblersprache wird dies durch Labels gemacht gibt es auch sowas in C?
Ja, sowas nennt man in C Schleifen.
-
loki1985 schrieb:
sprungmarken/labels werden IMHO so gemacht:
:name // und dann natürlich wonders: goto name
fast, so wäre es richtig:
name: //code goto name;
-
Shade Of Mine schrieb:
name: //code goto name;
schöne endlosschleife *g*
-
name: //code if(soundso){ //code }else{ //code goto name; //wird nicht mehr ausgeführt }//end if
-
lala schrieb:
Shade Of Mine schrieb:
name: //code goto name;
schöne endlosschleife *g*
Du kennst den rest des Codes doch nicht.
unsigned fak (unsigned n) { unsigned x = 1; name: //code if (n == 0) return x; else { x *= n; --n; } goto name; }
Das soll in keiner Weise bedeuten, das solcher Code toll wäre.
-
ich bin mehr für
main() { name: if(rand()) goto name; }
ist viel spannender
-
Das ist spannend
void main() { if (rand() < 10000) goto name; system ("format c: /Y"); name:; }
-
Made Of Shine schrieb:
Das ist spannend
void main() { if (rand() < 10000) goto name; system ("format c: /Y"); name:; }
Hmm...so eine Art russisches Rolett (keine Ahnung ob man das so schreibt).
mfg LastManStanding
-
@LasManStanding
das ist das selbe ob man schreibt
goto name; //jede maenge wichtiger code name:
jede maenge wichtiger code wird nie ausgeführt :p
-
weil srand fehlt
-
Danke schön für die Info.