projprog/C10.8.c

13 lines
485 B
C

//Polymorphic mul
// Les noms de macro sont sensibles à la casse, donc il faut respecter une convension (ici, j'ai choisi les minuscules).
// Attention aussi, une macro, c'est idiot, il faut mieux isoler les paramètre dans des parenthèses.
#define mul(a,b) ((a)*(b))
int main()
{
// Ici, la macro créait la séquence «3+4*4+3» étant mal compris à cause de la précédence plus élevée du *.
int x = mul(3+4, 4+3);
//Value of x
// x=49 (des maths: (3+4)*(4+3) = 49)
}