The below program is based on macros...do check it
#include
#define p(x) x+5
#define q(x) x*5
#define r(x) q(p(x))
main()
{
printf("%d",r(2));
}
NOTE:
> In this program while passing argument to R it will replace P(Q(x))
> > But it goes to the function Q as a argument ...
> > Because while macro expanding all the macros are already replaced ..by
there
> > corresponding values....
> > So first Q expands and replaces the value of that macro function to the
> > argument of P...
> > Finally the argument is pass over to P macro....it expands here.....