de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 neuromancer
neuromancer
Question

Używanie wartości boolean w C

C nie posiada wbudowanych typów boolean. Jaki jest najlepszy sposób, aby używać ich w C?

653 2009-12-17T12:46:49+00:00 3
Peter Mortensen
Peter Mortensen
Edytowane pytanie 18. maja 2016 в 10:54
Programowanie
c
boolean
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
Thomas Bonini
Thomas Bonini
17. grudnia 2009 в 12:49
2009-12-17T12:49:28+00:00
Więcej
Źródło
Edytuj
#9824397

Od najlepszego do najgorszego:

Opcja 1 (C99).

#include <stdbool.h>

Opcja 2

typedef enum { false, true } bool;

Opcja 3

typedef int bool;
enum { false, true };

Opcja 4

typedef int bool;
#define true 1
#define false 0

Wyjaśnienie

  • Opcja 1 będzie działać tylko wtedy, gdy używasz C99 i jest to "standardowy sposób" na zrobienie tego. Wybierz ją, jeśli to możliwe.
  • Opcje 2, 3 i 4 będą miały w praktyce takie samo, identyczne zachowanie. #2 i #3 nie używają jednak #defines, co moim zdaniem jest lepsze.

Jeśli jesteś niezdecydowany, wybierz #1!

John  Kugelman supports Monica
John Kugelman supports Monica
Edytowana odpowiedź 1. marca 2019 в 2:11
986
0
 Fortega
Fortega
17. grudnia 2009 в 12:49
2009-12-17T12:49:23+00:00
Więcej
Źródło
Edytuj
#9824396

A boolean w C jest liczbą całkowitą: zero dla false i niezerową dla true.

Zobacz także Typ danych boolean, sekcja C, C++, Objective-C, AWK.

 Fortega
Fortega
Edytowana odpowiedź 31. maja 2016 в 11:30
83
0
 ggambett
ggambett
17. grudnia 2009 в 12:48
2009-12-17T12:48:43+00:00
Więcej
Źródło
Edytuj
#9824395

Wszystko, co nie jest zerem, jest oceniane jako prawda w operacjach boolean, więc możesz po prostu

#define TRUE 1
#define FALSE 0

i użyć stałych.

10
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
mohidil qodirova
Zarejestrowany 6 godzin temu
2
Jasur Fozilov
Zarejestrowany 19 godzin temu
3
Zuxriddin Muydinov
Zarejestrowany 1 dzień temu
4
Денис Анненский
Zarejestrowany 3 dni temu
5
365
Zarejestrowany 1 tydzień temu
DA
DE
EL
ES
FI
FR
ID
IT
JA
KO
LV
NL
PL
PT
RU
SL
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem