While vs for



  • int i = 10;
    
    	do 
    	{
    	} while ( --i );
    

    ->

    int i = 10;
    
    start:
    	if( --i )
    		goto start;
    


  • Nein, ich sehe hier kein Problem. For nutzt man, wenn Du inetwa sagen kannst für jedes, while nutzt Du bei solange oder während.

    Für Klingonen ist das vielleicht verwirrend.

    Mfg Martin



  • DeathcubeUK schrieb:

    blurry333 schrieb:

    Jaa aber warum 2 kopfgesteuerte Schleifen wenn es auch eine tut 🙂

    Ja, mit einer** for -Schleife kannst Du eine while -Schleife emulieren, indem Du den Initialisierungsteil und den Anweisungsteil der for **-Anweisung leer lässt.

    ...

    Außerdem: Mit** while kannst Du auch eine do...while -Schleife erzeugen. Und das kannst Du nicht mit for **emulieren...

    Das ist ein Widerspruch. Wenn Du mit for auch while kannst und Du mit while auch do-while kannst, dann kannst Du mit for auch do-while.

    Mfg Martin



  • ich kann mit for auch do ... while !?



  • Swordfish schrieb:

    ich kann mit for auch do ... while !?

    for( bool first=true; first || <xxx>; first=false );
    


  • mgaeckler schrieb:

    Das ist ein Widerspruch. Wenn Du mit for auch while kannst und Du mit while auch do-while kannst, dann kannst Du mit for auch do-while.

    Mfg Martin

    Nur wenn die Relation "kannst" transitiv ist, alter. 💡



  • LOL, Respekt für blurry333.
    Er hat euch schon wieder dermaßen getrollt, daß ihr seitenweise drüber diskutiert. Owned.

    Ich hoffe es war trolling und nicht ernst gemeint. Bei ihm kann man sich nicht immer so ganz sicher sein, wo der Fehler im biologischen OS liegt. Heisst nicht, dass ich mir nicht schon meine eigene Meinung über ihn gemacht hätte.



  • EOP schrieb:

    Er hat euch schon wieder dermaßen getrollt, daß ihr seitenweise drüber diskutiert. Owned.

    Keine einzige meiner Aussagen in diesem Thread war ernstgemeint. Ich brauch wohl ein Shirt mit dem Aufdruck "just trollin with" ...



  • Swordfish schrieb:

    Keine einzige meiner Aussagen in diesem Thread war ernstgemeint.

    Kommt mir irgendwie bekannt vor. :p



  • EOP schrieb:

    int i = 10;
    
    	do 
    	{
    	} while ( --i );
    

    ->

    int i = 10;
    
    start:
    	if( --i )
    		goto start;
    

    So ist es.
    Die do-Schleife ist nur eine Schreibvereinfachung für einen bedingten Aufwärtssprung.
    Die while-Schleife ist nur eine Schreibvereinfachung für das sehr oft vorkommende if(x) do cmd; while(x).
    Die for-Schleife ist nur eine Schreibvereinfachung für das verdammt oft vorkommende init;while(x){cmd;inc;}.
    Die Schreibvereinfachungen gegen einem irgendwann in Fleisch und Blut über und man vergißt das if-goto, was es eigentlich ist. Man darf das goto vergessen, kein Problem. Man darf es auch benutzen, kein Problem.


Anmelden zum Antworten