laura_rand@xxxxxxxxxxxxxxxxx writes: > > laura_rand@xxxxxxxxxxxxxxxxx writes: > > > > > hi, all > > > > > > i could not find an answer to this question on the net so i'm posting it > > > here. > > > > > > as far as i know, the Ansi C standard does not specify the order of > > > evaluation of expression arguments. so if i wrote: > > > > > > x = f() + g() > > > > > > it would be up to the compiler whether f() or g() would be called > > > first. > > [snip] > > > > There is no order you can depend on. It can vary by platform, and > > according to optimization flags. > > that was my question. which optimization flags does it depend on, and how? > platform is intel x86. I don't know. I can only refer to Ian's answer; experiment, and look at the generated assembly. The catch is that the order may not be predictable on the optimization flags.