Definizione della direttiva parametrica macro

di il
3 risposte

Definizione della direttiva parametrica macro

Allora non riesco ad eseguire un esercizio dove devo definire una macro con due argomenti in C. Partendo da
 
#include <stdio.h>
#define MATRICOLA 7777

int main() 
{
   int age;
   age=22;
   printf("Ciao Mondo, ho %d anni e il mio numero di matricola è %d\n", age, MATRICOLA);
   return 0;
}
L'esercizio è: modificare il programma perchè il testo ”Ciao Mondo, ho X anni e il mio numero di matricola è Y” sia definito dalla direttiva parametrica del pre-processore HELLO(X,Y). Stampare il testo a schermo usando la direttiva HELLO(X,Y).

In pratica non riesco ad impostare la macro e ad inserire questa macro in printf. Come mi devo muovere?

3 Risposte

  • Re: Definizione della direttiva parametrica macro

    Come faresti a scrivere a video quella frase avendo X e Y (a prescindere dalla macro?)
  • Re: Definizione della direttiva parametrica macro

    Credo che al posto di X e Y nella frase devo metterci i %d, che dovranno essere presi dai valori della macro.
    praticamente devo definire due argomenti nella macro, uno per l'età e uno per il numero di matricola e poi inserirli nel testo.

    In realtà sono molto confuso da questo esercizio, la cosa che dovrei fare è scrivere quella frase utilizzando l'età e la matricola che ho impostato nella macro.
  • Re: Definizione della direttiva parametrica macro

    Perché confuso?

    #define HELLO(X,Y) printf("Ciao Mondo, ho %d anni e il mio numero di matricola è %d",X,Y);

    e usi

    HELLO(age,MATRICOLA)
Devi accedere o registrarti per scrivere nel forum
3 risposte