Der Header stdbool.h
enthält die Makros true
und false
.
Unter C++ ist die Datei als cstdbool
einzubinden.
Bis zur Version C99 gab es keine Namen für die beiden Wahrheitswerte. Stattdessen wurde einfach 0 als falsch und alles andere als wahr angenommen. Schließlich wurden ihnen aber (gleich wie in C++) die Namen true
und false
zugewiesen. Dabei steht true
für 1 und false
für 0. Die Verwendung der beiden Makros ist selbsterklärend:
#include <stdio.h> #include <stdbool.h> int main() { bool a = true; bool b = false; if( a ) { if( b ) printf( "'a' and 'b' are both true\n" ); else printf( "'a' is true and 'b' is false\n" ); } else { if( !b ) printf( "'a' and 'b' are both false\n" ); else printf( "'a' is false and 'b' is true\n" ); } return 0; }
Ausgabe:
'a' is true and 'b' is false