Anfängerfrage zu Beispielcode



  • Hallo habe folgenden Quellcode aus dem turtorial von toni.schornboeck
    kompiliert.

    #include<iostream>
    using namespace std;
    
    int main()
    {
       if(1==1 && 2==2)
       {
         cout<<"1 ist gelich 1 und 2 ist gleich 2\n";
       }
    
       if(3==3 || 3==4)
       {
         cout<<"Entweder ist 3 gleich 3 oder 3 ist 4 oder beides ist wahr\n";
       }
    
       if(!(3==2))
       {
         cout<<"3 ist gleich 2 ist nicht wahr. Das bedeutet, dass 3 ungleich 2    
         ist.\n";
       }
    }
    

    Meine frage dazu ist warum wird alles bei cout ausgegeben?
    Es wurden doch gar keine Variablen intialisiert.
    Normal dürfte überhaupt nichts ausgeben werden oder?
    Kann es sein da keine Variablen initialisert wurden... das die if's ignoriert
    werden und deshalb alles was hinter cout steht ausgegeben wird?

    Bin etwas verwirrt oder habe nicht so den Durchblick...
    hoffe wenn jemand zeit hat verschafft er mir den Durchblick...

    danke schonmal im voraus



  • Hallo,

    die if kontrollstrucktur überprüft auf wahrheit der aussage.

    Gehen wir dass mal durch:

    1==1 // scheint wahr zu sein
    2==2 //dass auch
    //TRUE AND TRUE =TRUE also wird über cout ausgegeben
    
    3==3 //ist wahr
    3==4 // ne dass ist falsch
    //TRUE OR FALSE =TRUE es wird also etwas über cout ausgegeben
    
    3==2 // eindeutig FALSE
    //NOT FALSE = TRUE und schon wieder kommt ein cout aufruf
    

    Sei gegrüßt



  • Warum sollen denn hier Variablen initialisiert werden?

    Du vergleichst hier immer zwei Literale, die Bedingungen sind nunmal immer true, also warum soll hier was nicht ausgegeben werden? 😕



  • Sorry das war mein denkfehler.
    Danke wieder was gelernt.


Anmelden zum Antworten