Strona główna › Pytania INF.04 › Pytanie 297
INF.04 · pytanie #297
Wykorzystując jeden z dwóch zaprezentowanych sposobów inkrementacji w językach z rodziny C lub Java, można zauważyć, że<br> Zapis pierwszy: <pre class="code-block">b = a++;</pre> Zapis drugi: <pre class="code-block">b = ++a;</pre>
- ABez względu na zastosowany sposób, w zmiennej b zawsze uzyskamy ten sam rezultat.
- BWartość zmiennej b będzie wyższa po użyciu drugiego zapisu w porównaniu do pierwszego.
- CTylko przy użyciu pierwszego zapisu zmienna a zostanie zwiększona o 1.
- DDrugi zapis nie jest zgodny ze składnią, co doprowadzi do błędów kompilacji.
Poprawna odpowiedź: B. Wartość zmiennej b będzie wyższa po użyciu drugiego zapisu w porównaniu do pierwszego.
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
W językach programowania z rodziny C (w tym C++ i Java) istnieją dwie formy inkrementacji: preinkrementacja (++x) i postinkrementacja (x++). Preinkrementacja zwiększa wartość zmiennej przed jej użyciem w wyrażeniu, natomiast postinkrementacja zwiększa ją dopiero po zakończeniu aktualnej operacji. Oznacza to, że w przypadku postinkrementacji, wartość zmiennej przed zwiększeniem zostanie użyta w bieżącym wyrażeniu, a dopiero potem następuje jej zwiększenie o 1. Ta subtelna różnica ma istotne znaczenie, zwłaszcza w pętlach i wyrażeniach logicznych, gdzie każda iteracja wpływa na wynik. W praktyce preinkrementacja jest nieco bardziej efektywna, ponieważ nie wymaga przechowywania kopii pierwotnej wartości zmiennej, co przekłada się na minimalnie lepszą wydajność w niektórych przypadkach.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.