Esikääntäjää voidaan ohjata tuottamaan tilanteesta riippuvaa koodia.
Tähän voi olla tarvetta, jos ohjelman pitää toimia useassa erilaisessa tietokone- tai kääntäjäympäristössä.
Esikääntäjä ymmärtää tätä varten mm. seuraavat ohjaukset:
#if #else #elif /* else if */ #endif /* if-lohkon päättyminen */ #ifdef /* if defined */ #ifndef /* if not defined */
![]() | Esimerkki 1 |
![]() | Esimerkki 2 |