Please give me full description.... The first snippet of code has the 'function call' (macro invocation) before the increment operator, and second one has the function call after the increment operator.
#include <stdio.h> #define square(x) x*x int main() { int a,b=3; a=square (b)++; printf("%d%d",a,b); return 0; }
output:
124
why is 124 returned here
#include <stdio.h> #define square(x) x*x int main() { int a,b=3; a=square (b++); printf("%d%d",a,b); return 0; }
output:
125
and 125 here?