/* * F. de Sande * 7.12.2001 * Este programa ilustra la utilización de macros * La macro ALFA toma 2 parámetros (a y b) y si el valor del parámetro a * que se le pase es 1, escribe tantas veces como indique el parámetro b * el valor del primer parámetro. * Se ha escrito a propósito la macro en varias líneas para ilustrar la * utilización del caracter \ para separar las diferentes lineas de la * macro. * Es interesante cuando se trabaja con macros utilizar la opción -E del * compilador gcc Al compilar un programa con la opción -E, lo que se hace * es el preprocesado del fichero, con lo cual no actúa el analizador léxico * o el sintáctico del compilador de C sino sólo el preprocesador: el efecto * de la opción es que se sustituyen los ficheros incluidos por su contenido * y se realiza la expansión de las macros. */ #include #define ALFA(a, b) { \ int k; \ \ if(a == 1) { \ for(k = 0; k < b; k++) { \ printf("i es %d\n", a); \ } \ } \ else \ printf("El valor de i es: %d\n", a); \ } int main(void) { int i, repe; printf("Introduzca i: "); scanf("%d", &i); printf("Introduzca repeticiones: "); scanf("%d", &repe); ALFA(i, repe); }