لماذا النتائج هكذا.. والمفروض ان تكون هكذا.. (++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

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


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

شكرا جزيلا اخي انا فهمتك ولله الحمد ثم لك بس اخي اخر سؤال ...... ليش لو انا كتبت الجمله

;++cout<<a لحالها بدون وضع اي جمل طباعه بعدها يكون الناتج 11 مش عشره كما فهمتني ؟؟

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

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

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

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

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