ID: 2850 OOP - Podstawy Średnie

Źródło: Arkusze CKE

Wykorzystując jeden z dwóch zaprezentowanych sposobów inkrementacji w językach z rodziny C lub Java, można zauważyć, że
Zapis pierwszy:
b = a++;
Zapis drugi:
b = ++a;

Warianty odpowiedzi

  1. A

    Wartość zmiennej b będzie wyższa po użyciu drugiego zapisu w porównaniu do pierwszego.

  2. B

    Drugi zapis nie jest zgodny ze składnią, co doprowadzi do błędów kompilacji.

  3. C

    Bez względu na zastosowany sposób, w zmiennej b zawsze uzyskamy ten sam rezultat.

  4. D

    Tylko przy użyciu pierwszego zapisu zmienna a zostanie zwiększona o 1.

Wyjaśnienie

Różnica polega na kolejności wykonywania działań.

W pierwszym zapisie (b = a++) mamy postinkrementację. Komputer najpierw przypisuje aktualną wartość zmiennej a do zmiennej b, a dopiero potem zwiększa a o 1. Zmienna b dostaje więc starą wartość.

W drugim zapisie (b = ++a) występuje preinkrementacja. Najpierw zwiększamy wartość a o 1, a potem tę nową, wyższą wartość przypisujemy do b.

Dlatego po zastosowaniu drugiego zapisu zmienna b przyjmie wyższą wartość.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — OOP - Podstawy