a = 10 ;
a = a++ + a++ =22;
a=10;
a = ++a + ++a =24 ;
a=10;
a = (a=a+1) + (a=a+1) =23;
a=10;
a = (++a)+ ++a=24;
علتش تو ++ و -- هستش. X++ يعني اول x يه واحد اظافه بشه ، بعد در محاسبه شرکت کنه. ولي ++X يعني اول x تو محاسبات شرکت کنه، بعدش يه واحد اظافه بشه.
تو مورد چهارم هم ، دربخش دومش ، چون a++ اومده ، مقداري که ++a قرار بوده بعد از محاسبات در a قرار بده ، همون موقع در a قرار داده شده.
اين برنامه اجرا شدش: