• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ wyliczanie zmiennej

Object Storage Arubacloud
+1 głos
351 wizyt
pytanie zadane 13 grudnia 2020 w C i C++ przez dominguezik Nowicjusz (160 p.)

Witam. Na wstępie zaznaczę, że jestem bardzo początkujący w kodowaniu w C++. Chodzę do 2 klasy technikum informatycznego i dopiero teraz zaczęliśmy omawiać podstawy C++ w Codeblocksie. Niestety, z powodu nauki zdalnej i nieobecności na jednych z zajęć nie jestem w stanie zrozumieć zapewne bardzo prostej dla wielu tutaj osób rzeczy, a nauczyciela o pomoc doprosić się zbytnio nie da. Przechodząc do rzeczy, chciałbym dowiedzieć się tutaj, ile wynosi zaznaczona na obrazku zmienna, oraz najważniejsze - skąd to wszystko się bierze. Z góry dzięki i błagam, nie zjedzcie mnie. ;-;

1 odpowiedź

+1 głos
odpowiedź 13 grudnia 2020 przez Aqua 4 Gaduła (3,220 p.)
wybrane 13 grudnia 2020 przez dominguezik
 
Najlepsza

x wynosi 13

y wynosi 12y


Najpierw wyjaśnię co robią użyte operatory:

y %= x tutaj wartość zmiennej y jest zmieniana na resztę z dzielenia y przez x, więc y = 0

x *= x-- tutaj wartość zmiennej x jest zmieniana na iloraz x oraz wartości po prawej stronie *=, czyli x--. Różnica między x-- i x++, a --x i ++x jest taka, że te pierwsze zwracają stare x, a te drugie zwracają zmienioną wartość, ++ dodaje do zmniennej 1, a -- odejmuje, więc w tym przypadku najpierw x jest zmiejszane o 1 (bo x--), a następnie pomnożone przez stare x, więc wynosi 12.

y += ++x - y-- tutaj wartość zmiennej y jest zmieniana na sumę y i wyrażenia po prawej stronie. Pamiętając o zasadzie omówionem w poprzedniej linijce: można powiedzień, że najpierw x jest zwiększane o 1, y jest zmniejszane o 1, a następnie dodawana jest to niego wartość x - stare y, więc x wynosi 13, a y wynosi 12.

Przy czym warto zaznaczyć, że inkrementacja i dekrementacji z ++ z przodu (++x) jest minimalnie szybsza od inkrementacji i dekrementacji z ++ z tyłu (x++), ponieważ w drugim przypadek program musi dodatkowo zdefiniować zmienną, która zostanie zwrócona, a w pierwszym zwraca bezpośrednio x. Nie stanowi dużej różnicy w prostych programach, ale w dużych pętlach lepiej stosować ++x, niż x++.

1
komentarz 14 grudnia 2020 przez dominguezik Nowicjusz (160 p.)
Dzięki wielkie! Świetnie wytłumaczone. :)
komentarz 14 grudnia 2020 przez Aqua 4 Gaduła (3,220 p.)
dzięki

Podobne pytania

0 głosów
1 odpowiedź 156 wizyt
+1 głos
3 odpowiedzi 1,910 wizyt
0 głosów
1 odpowiedź 8,477 wizyt
pytanie zadane 21 września 2015 w C i C++ przez veryhotshark Obywatel (1,620 p.)

92,632 zapytań

141,502 odpowiedzi

319,882 komentarzy

62,015 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...