Operatory logiczne, a kolejność.
Ostatnio zmodyfikowano 2011-04-22 18:27
MusicWarrior Temat założony przez niniejszego użytkownika |
Operatory logiczne, a kolejność. » 2011-04-22 16:52:55 Cześć! Od pewnego czasu staram się zmusić do przerobienia kursu C++. Idzie mi nawet nieźle, do tego kolega (pozdrowienia dla SeaMonster ;)) mi pomaga. Jednak czasem go przez dłuższy czas nie ma, a ja jestem strasznie niecierpliwy... Dlatego mam takie pytanie odnośnie kolejności.
Btw. Jak się wkleja na forum "kolorowy kod" ? xD
#include <iostream> #include <conio.h> int main() { bool wynik; wynik = true && false && !true && false || !( !true && false ); std::cout << "wynik = " << wynik << std::endl; getch(); return 0; }
Wynik wychodzi 1. Natomiast mi po 3 próbach obliczania, wychodzi 0...
Liczę to tak:
1 -> true && false && !true && false || !( !true && false ) 2 -> true && false && false && false || !( false && false ) 3 -> true && false && false && false || !( false ) 4 -> true && false && false && false || true 5 -> true && false && false && true 6 -> No i tu się zastanawiałem zawsze czy od lewej czy od prawej liczyć... Po pewnym czasie skapnąłem się, że liczy się to wszystko razem i żeby wynik był równy 1 wszystko musi być na true. A tutaj są 2 false. Więc... 0? |
|
pekfos |
» 2011-04-22 17:01:41 [cpp][/cpp]. kod sformatuj. |
|
ison |
» 2011-04-22 17:25:04 4 -> true && false && false && false || true 5 -> true && false && false && true
|
|| nie ma większego priorytetu niż &&, więc moim zdaniem to wygląda tak (od lewej do prawej): 5 -> false && false && false || true 6 -> false && false || true 7 -> false || true 8 -> true |
|
MusicWarrior Temat założony przez niniejszego użytkownika |
» 2011-04-22 18:27:26 Ahh... Pomyliły mi się operatory... && - iloczyn; || - suma... Głupi błąd... Dzięki! |
|
« 1 » |