Wow that is a good one... I was already to explain it, then I ran it... int i = 2; i += i++; should be the same as: i += i; i++; Right? Actually it is the same as: i = i + i++; My guess would be: i + i is evaluated and i++ is evaluated. Because of the order of operations the result of i + i is assigned to i and as a side effect the result of i++ is lost. If some one could confirm my guess or corect me that would be great. [ November 13, 2003: Message edited by: Jeff Swenson ]