the developer shouldn't rely on the order of the parameters. your inline printf() (the second example) is really bad. On Visual C++, the parameters are unstacked from right to left, so when you do
printf("%d %d\n",a++,++a)
++a is evaluated before a++. this may be different on other compilers. for how the value of a vary, you have to know how pre and post increment operators work. Preincrement (++a) increments the variable and returns its new value (the value after the incrementation). Postincrementation (a++) increments the variable ans returns its old value (the value before the incrementation).
[VisualCalc][Binary Guide][CommDialogs] | [Forums Guidelines]