Selenar
Jeśli w warunku jest k=0, to k zmienia swoja wartość na 0, i jednocześnie 0 jest wartością warunku w if. Czyli warunek nie jest spełniony (0 to false) wiec k jest dzielone przez 2 (instrukcja else). Ostatecznie k=0.
Jeśli natomiast miało być if(k==0) to warunek też nie jest spełniony (bo k=20 a nie 0). k jest również dzielone przez 2 i ostatecznie k=10.
2 votes Thanks 1
koleżeński
Chyba powinno być if(k==0) a nie if(k=0). k wynosi 10 ponieważ na początku k przypisuje się wartość 20 (k=20), potem jeśli wartość k wynosi 0 ( if(k==0 ) to dzieli się ją przez 10 (k/=10;), a jeśli wartość k nie wynosi 0 to dzieli się wartość k przez 2 (k/=2;).
Jeśli natomiast miało być if(k==0) to warunek też nie jest spełniony (bo k=20 a nie 0). k jest również dzielone przez 2 i ostatecznie k=10.
k wynosi 10 ponieważ na początku k przypisuje się wartość 20 (k=20), potem jeśli wartość k wynosi 0 ( if(k==0 ) to dzieli się ją przez 10 (k/=10;), a jeśli wartość k nie wynosi 0 to dzieli się wartość k przez 2 (k/=2;).