لماذا النتائج هكذا.. والمفروض ان تكون هكذا.. (++c)

السلام عليكم اخواني انا ابرمج بلغة c++ ولكن واجهني سؤال ;int a=10

;cout<<a++<<endl

;cout<<a<<endl

;cout<<--a<<endl

;cout<<++a<<endl

اذا ترجمنا هذا الكود سيكون الناتج 10,11,10,11

لكن اذا ترجمنا كل سطر على حده سيكون الناتج 11,10,9,11

لماذا النتيجه الولى تختلف عن الثانيه ؟؟؟؟؟؟


التعليق السابق

القيمة الأولية للمتغير تساوي 10

الجملة التي ذكرتها إن نفذتها للمرة الأولى فسيكون المخرج 10، وفي الذاكرة 11

إن نفذت الجملة مرة ثانية سيكون المخرج 11،وفي الذاكرة 12

وهكذا والعكس صحيح

شكرا جزيلا اخي وفيت وسددت واصبت