I'm just re-reading K&R and there's something I don't understand, Appendix A7. Expressions:
Looking at this:Quote:
"The precedence and associativity of operators is fully specified, but the order of evaluation of expressions is, with certain exceptions, undefined, even if the subexpressions involve side effects. That is, unless the definition of an operator guarantees that its operands are evaluated in a particular order, the implementation is free to evaluate operands in any order, or even interleave their evaluation."
How can I be sure that 'b' takes the value of 6, if the evaluation of the expression '++a' could be interleaved?...I think I misunderstand something here, but I don't see what. I also searched on Google and on the board, read a lot, but it is still not really clear :/Code:
int a = 5;
int b = ++a;
Hopefully somebody can explain me :)