7.4.3 Muita makro- "temppuja"
Koska C- kielen makro on todellakin vain tekstinkorvaus, muuttaa
esikääntäjä seuraavan tekstin
c-alk\makroja.c - "turhia" makrotemppuja
#include <stdio.h>
#define ALKU int main(void) {
#define LOPPU return 0; }
#define mk *100
#define km *1000
ALKU
double hinta_penneina,matka_m;
hinta_penneina = 5 mk;
matka_m = 3.5 km;
LOPPUmuotoon
... kaikki stdio.h:ssa oleva koodi makrot käsiteltynä ...
int main(void) {
double hinta_penneina,matka_m;
hinta_penneina = 5 *100;
matka_m = 3.5 *1000;
return 0; }
Tosin tällaisia makrotemppuiluja kannattaa välttää ellei
siitä saa suunnatonta ohjelman ylläpidollista hyötyä.
Tarvittaessa pelkkä esikäännös voidaan tehdä vaikka
Borland C++:lla:
C:\OMAT\OHJELMOI\VESA>CPP makroja.c[RET]
tulee tiedosto makroja.i