Preprocessor C Tutorial

Macro just indicates replacement, not the function call.

#include 
#define add(x1, y1)  x1 + y1
#define mult(x1,y1)  x1 * y1
main ()
{
    int a,b,c,d,e;
    a = 2;
    b = 3;
    c = 4;
    d = 5;
    e = mult(add(a, b), add(c, d));
    // mult(a+b, c+d)
    // a+b * c+d
    printf ("The value of e is %d\n", e);
}
The value of e is 19