/* ehdollinenkaannos.c SJ */ #include #include #if vakiolauseke /* tämä osa otetaan mukaan (käännetään) vain jos vakiolauseke on tosi */ #endif #ifdef tunnus /* tämä osa otetaan mukaan vain jos tunnus on määritelty */ /* ifdef on lyhenne if defined :stä */ #endif #ifndef tunnus /* tämä osa otetaan mukaan vain jollei tunnus ole määritelty */ /* ifndef on lyhenne if not defined :stä */ #endif #if lauseke /* tai #ifdef tai #ifndef */ #elif lauseke2 /* ... */ #else /* ... */ #endif #ifndef NEW void *omamalloc(size_t n); #define NEW(tyyppi) ... #define NEWN(tyyppi, N) ... #endif #ifdef UNIX /* tee kuten unixissa, esim system() */ #elif defined MSDOS /* tee sama asia siten, että se toimii MS-DOS:ssa */ #else /* jätä tekemättä, tai tee yksinkertaisesti */ #endif #define MAXLUKU 100000L #if INT_MAX >= MAXLUKU typedef int Integer; #else typedef long Integer; #endif Integer omamuuttuja; int omarutiini(int a) { int r; #ifdef DEBUG printf("Kutsuttiin funktiota omarutiini \ arvolla %d\n", a); #endif /* ... */ #if DEBUG > 1 printf("Funktio omarutiini palauttaa \ arvon %d", r); #endif return r; } main() { }