verständigungsproblem



  • ich zeige euch am code was mir nicht klar ist warum es so ist. die kommentare sind wohl selbsterklärend....

    while(0) // <-- Solange false, wird die schleife ausgeführt...(DEM IST ABER NICHT SO)
    	{
    		//DoSomething...
    	}
    
    	while(1) // <-- Solange true, wird die schleife ausgeführt...(JA ES GEHT)
    	{
    		//DoSomething...
    	}
    
    	// DAS GLEICHE BEISPIEL ALLERDINGS MIT EINER VARIABLE VOM TYPE bool
    	bool check = false;
    	while(check == false) // <-- Solange die variable also false ist wird die schleife ausgeführt...(JA ES GEHT)
    	{
    		//DoSomething...
    	}
    
    	bool check = true;
    	while(check) // <-- Solange die variable also true ist wird die schleife ausgeführt...(JA ES GEHT)
    	{
    		//DoSomething...
    	}
    


  • Du solltest while so verstehen: Solange die Bedingung erfüllt ist, wiederhole die Anweisung. false ist aber eine Bedingung, die nie erfüllt ist (true dagegen ist immer erfüllt).

    Die beiden "Versionen" sind auch nicht das gleiche. Wenn check=false, dann ist if (check == false) äquivalent zu if (false == false). if (false) dagegen ist dann äquivalent zu if (check).



  • kleiner tip:

    gib dir mal aus:

    bool check = false;
    cout<<check<<endl;

    und dann:

    cout<< (check==false) <<endl;



  • 💡 danke 😋


Anmelden zum Antworten