int i= 1; printf("%d %d %d\n", i++,i++,i);
Output is 2 1 3 but why 1 after 2
Dont use statement with side effects as function parameters because they order is compiler dependent and not defined by language standard (eg. on output on a compiler and another output on another compiler)
When you perform more than one operation in single line then it can produce any output. The output is compiler dependent actually in this case as said by KrOW .