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

prawda czy fałsz(0 czy 1)

Object Storage Arubacloud
0 głosów
5,297 wizyt
pytanie zadane 17 marca 2017 w C i C++ przez seba Dyskutant (8,900 p.)
Witam otóż mam pytanie co jest prawdą 0 czy 1. W pętli wiem że 1 oznacza prawdę czyli wykonuje się w nieskończoność. Zaś return 0; oznacza zwróć prawdę. I teraz nie wiem co jest prawdą.

3 odpowiedzi

+2 głosów
odpowiedź 17 marca 2017 przez mokrowski Mędrzec (155,460 p.)

W C i C++ oraz w systemach operacyjnych obowiązują 2 konwencje:

  1. C/C++ - dowolna wartość niezerowa oznacza prawdę. Tak więc 0 i wszystko co do niego można przyrównać oznacza fałsz.
  2. OS - kod powrotu z programu 0 oznacza że program wykonał się bez błędu. Dowolny nie zerowy kod oznacza kod błędu zwracany przez program.

Dzięki tej konwencji, zwracając wartość z main(), można sygnalizować w powłoce jak wykonał się program. Można wtedy pisać łatwo skrypty i zestawiać programy w potoki lub wykonywać różnorodne testy.

komentarz 17 marca 2017 przez draghan VIP (106,230 p.)

yes

Dopowiem tylko, że powszechnie używa się konwencji 1==prawda, 0==fałsz - nie tylko w C/C++.

seba:
Wartość 0 zwrócona z funkcji głównej do systemu operacyjnego nie oznacza 'prawdy', tylko poprawne wykonanie - to drobna różnica. ;) Kod zerowy jest tylko jeden, zaś niezerowych całkiem sporo - stąd 0 może oznaczać poprawne wykonanie (program wypełnił swoją funkcję jak trzeba), zaś cała gama pozostałych kodów może posłużyć do sygnalizacji najróżniejszych błędów. Wydaje się to całkiem logiczne. :)

0 głosów
odpowiedź 17 marca 2017 przez 10kw10 Pasjonat (22,880 p.)
Co jest prawda :D

To zalezy jaki jest typ funkcji, bo jesli int to poprostu to jest liczba, a jesli bool to kazda inna liczba rozna od 0 jest uznawana jako true, a 0 to false;

0 == false;

1 == true;
komentarz 17 marca 2017 przez seba Dyskutant (8,900 p.)
Wiem ale czasem jest taka sytuacja którą widzę w kodach np w php, że jeśli numer błędu jest równy 0 to jest prawda. No bo nie wyskoczył błąd czyli prawda xD Jak tu się połapać
0 głosów
odpowiedź 17 marca 2017 przez Dorion300 Szeryf (90,250 p.)
W jakiej części programu masz ten "return 0;"?
"return 0;" nie musi oznaczać że zwraca prawdę, może po prostu zwracać int.
gdy kończysz program "return 0" oznacza że program kończy się powodzeniem i nic po drodze się nie zepsuło.
możesz także zwrócić liczbę np. 42.

dlaczego "return 0;" oznacza "zwróć prawdę" skoro zwraca liczbę 0? A zero jest "zdaniem fałszywym" jako typ bool.

Podobne pytania

0 głosów
1 odpowiedź 391 wizyt
pytanie zadane 17 kwietnia 2017 w Sieci komputerowe, internet przez Piotrek10020 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 216 wizyt
pytanie zadane 10 grudnia 2016 w C i C++ przez DODO Bywalec (2,950 p.)
0 głosów
3 odpowiedzi 337 wizyt
pytanie zadane 19 listopada 2015 w C i C++ przez RoXoR Początkujący (280 p.)

92,552 zapytań

141,399 odpowiedzi

319,534 komentarzy

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

...