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

Kolejność wykonywania działań C

Object Storage Arubacloud
0 głosów
1,766 wizyt
pytanie zadane 27 listopada 2018 w C i C++ przez niezalogowany
Witam, mam dane równanie ( 2 * 2 - 1 / 2 * 4 - 3 + 3 - 2 * 4 - 3 / 2 * 3 ) program zwraca wynik równy -7 i nie jestem w stanie pojąć w jaki sposób mam to policzyć, żeby otrzymać właśnie taki wynik. Byłbym wdzięczny gdyby ktoś mógł rozpisać co po kolei robi. Jakiej kolejności działań używa. Z góry dziękuję.

2 odpowiedzi

+1 głos
odpowiedź 27 listopada 2018 przez niezalogowany
edycja 27 listopada 2018

Priorytety operatorów - czyli najpierw wykonaj mnożenie i dzielenie. Dodatkowo warto wiedzieć jak wygląda dzielenie liczb całkowitych:

1 / 2 * 4 = 0 * 4 = 0
4 * 1 / 2 = 4 / 2 = 2
komentarz 27 listopada 2018 przez niezalogowany
Czyli według Twojego przykładu mam wykonać najpierw dzielenie tak?
komentarz 27 listopada 2018 przez niezalogowany
Mnożenie i dzielenie są równoważne, więc jeżeli nie ma nawiasów, lub innej operacji o wyższym priorytecie to wykonujesz pierwsze które wystąpi. W równaniu które masz wszędzie jest akurat pierwsze dzielenie. Dodałem Ci nowy przykład.
komentarz 27 listopada 2018 przez niezalogowany
Okej w takim razie z tego wynika, że to: 1 / 2 * 4 = 0 * 4 = 0 jest błędne.

2 * 2 - 1 / 2 * 4 - 3 + 3 - 2 * 4 - 3 / 2 * 3

4 - 1 / 2 * 4 - 3 + 3 - 8 - 3 / 2 * 3

4 - 0 * 4 - 3 + 3 - 8 - 1 * 3

4 - 3 + 3 - 8 - 3

1 + 3 - 8 - 3

-4 - 3

-7
komentarz 27 listopada 2018 przez niezalogowany
Gdzie jest błędne?
komentarz 27 listopada 2018 przez niezalogowany
Wnioskuje z tego, że gdybym wykorzystał to, że 0 * 4 = 4 to byłby błędny wynik.
komentarz 27 listopada 2018 przez niezalogowany

Ciii.... Tam nic takiego już nie ma devil

0 głosów
odpowiedź 27 listopada 2018 przez Piotr Batko Stary wyjadacz (13,190 p.)

U mnie te działania wykonują się w kolejności:

3 / 2 = 1
1 * 3 = 3
2 * 4 = 8
1 / 2 = 0
0 * 4 = 0
2 * 2 = 4
4 - 0 = 4
4 - 3 = 1
1 + 3 = 4
4 - 8 = -4
-4 - 3 = -7
-7

A poniżej kodzik, który mi taki wydruk wygenerował :)

https://onlinegdb.com/rJdzECqAQ

Podobne pytania

0 głosów
0 odpowiedzi 311 wizyt
0 głosów
1 odpowiedź 245 wizyt
0 głosów
1 odpowiedź 360 wizyt

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 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!

...