Podstawy programowania

0

Witam,

Dlaczego w ,,i" wychodzi 1 skoro znaczniki pokazują fałsz (0)? 4 nie jest większe od 5, a 5 nie jest większe od 6.

#include <iostream>

using namespace std;

int main()
{
    int i = 6 < 5 < 4;
    cout << i << endl;
    const int j = 4 < 5 < 6;
    cout << j << endl;
    int k = !(i && j);
    int l = true || false;
    i = k && l;
    cout << k << endl;
}
6

i = (6 < 5) < 4
i = (0) < 4
i = prawda

3
  1. 6 < 5 < 4 jest równoznaczne z (6 < 5) < 4, czyli false < 4 czyli 0 < 4, czyli true.
  2. Analogicznie rozumowanie można przeprowadzić dla 4 < 5 < 6, co też da true.
  3. wobec tego !(true && true)!(true)false, więc k = 0
  4. l = true, tutaj nawet nie bardzo jest co wyjaśniać.
  5. k && lfalse && truefalse, więc do i przypisujesz 0, ale
  6. wyświetlasz k, czyli 0

1 użytkowników online, w tym zalogowanych: 0, gości: 1