in the outputCode:#include<stdio.h> #define PR(a) printf("%d\t",(int) (a)); #define PRINT(a,b,c) PR(a);PR(b);PR(c); #define MAX(a,b) (a<b?b:a) main(){ int x = 1,y = 2; PRINT(MAX(x++,y),x,y); PRINT(MAX(x++,y),x,y); }
first itis printing 2 2 2 it's ok
but in the second 3 4 2 is printing
why it is printing 4 .increment is done only one time after fitst printf