SCJP - zadanie

0

Cześć,

Panowie, może lamerskie pytanie, ale dlaczego to wyrażenie zwraca taki sam wynik:

int k=5;
3*k++;
3*k;

Jedno i drugie wyrażenie zwraca ten sam wynik - 15. Dlaczego ?

5

Jeśli trzeci i drugi wiersz są wykonywane jeden po drugim, to zwracają co innego. Jeśli wykonywany jest drugi albo trzeci to zwracają to samo, jest to oczywiste, zmienna k jest zwiększana po wykonaniu mnożenia. Ubiegasz się o SCJP i tego nie wiesz? Wstyd.

4

o_O
k++ to operacja POST inkrementacji. k++ zwraca POPRZEDNIĄ wartość a potem inkrementuje k. W efekcie 3k i 3k++ da ten sam wynik, ale w drugim przypadku PO wykonaniu instrukcji k będzie o 1 większe.

0

Proszę moderatora o zamknięcie tego tematu.
Shalom -dzięki za odpowiedz.
Bogdans - przez takich jak Ty, niedowartościowanych troli, ludzie nie mają ochoty, zakładać kont na forach i zadawać nawet 'lamerskich' pytań.

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