int x = 1 , y = 1 , z = 1 ;
nun diese Zeilen Code überprüfen: -Wie liest der Compiler diese Ausdrücke? Warum bekomme ich diese Ausgaben (alle Variablen werden als 1 initialisiert)?
cout << (++x || ++y)<<endl; //Output 1
cout << x <<" " << y; // now x = 2 and y = 1 . Why 'y' is not incremented ?
wieder Werte initialisiert auf 1
cout <<(++x && ++y)<<endl; //Output 1
cout << x <<" " << y; //now x = 2 and y = 2 . Why 'y' is incremented ?
wieder Werte initialisiert werden 1
cout << (++x ||++y && ++z)<<endl; //Output 1
cout << x<<" "<< y<<" "<<z ; //now x = 2 , y = 1 , z = 1.Why these outputs?
Kann jemand erklären Wie liest der Compiler diese Codes? Ich lese über die Reihenfolge der Reihenfolge, aber ich kann nicht herausfinden, wie der Compiler auf diese Arten von Code funktioniert. Selbst eine kleine Hilfe wird geschätzt werden!
"Kurzschlussauswertung" nachschlagen. – EOF
Einige zusätzliche [lesen] (http://en.cppreference.com/w/cpp/language/operator_logical). –