![]() | C ei sisällä true/false-totuusarvotyyppiä, jollainen on yleisesti käytössä monissa
ohjelmointikielissä. |
![]() | enum-määrittely antaa mahdollisuuden määritellä totuusarvot FALSE ja TRUE. |
Kun käytetään lisäksi hyväksi typedef-määrittelyä, saadaan helposti käyttöön oma boolean-tyyppi.
Esimerkki:
#include <stdio.h> typedef enum {FALSE, TRUE} Boolean; void main (void) { int luku=0; Boolean ok=FALSE; char rivi[128]; do{ printf ("\nAnna luku 123: "); gets(rivi); sscanf (rivi,"%d",&luku); if (luku == 123) { ok = TRUE; } }while (!ok); }
Toistoehdossa olevan lausekkeen !ok arvona on TRUE eli tosi, jos ok:n arvona on FALSE, koska negaatio-operaatio (!) muuttaa toden epätodeksi ja päinvastoin. Silmukassa pysytään niin kauan kuin ok on FALSE. Kun ok saa arvon TRUE, toistoehto muuttuu epätodeksi ja silmukan suoritus päättyy. Ehto voitaisiin haluttaessa esittää myös muodossa: