الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]طلب شرح كود : الزيادة السابقة والزيادة اللاحقة

بدأه هدى عبده في 23 أكتوبر 2013 · 1 رد · 1,687 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل يمكن شرح طريقة عمل الزيادة السابقة واللاحقة في الكود التالي ..

#include < iostream>
using namespace std;
main()
{
    int m=66 , n;
    n=++m;
    cout <<"m="<<m<<",n="<<n<<endl;
    n=m++;
    cout<<"m="<<m<<",n="<<n<<endl;
    cout<<"m="<<m++<<endl;
    cout<<"m="<<m<<endl;
    cout<<"m="<<++m<<endl;
    return0:
}

 وشكراً ..

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 3 نوفمبر 2013 في 20:41 — السبب: تحقيق معايير الأسئلة في القسم

#2

اختي الكريمة .. الكود يوضح عملية الزيادة السابقة .. والزيادة اللاحقة ..

في السطر الأول قيمة m  هي  66

وفي السطر التالي : تتم زيادة m فيصبح 67 ثم نحفظ القيمة في n  فيصبح n=67 أيضا ..

في السطر الرابع تتم زيادة m فتصبح 68 ولكن باستخدام الزيادة اللاحقة أي أن قيمة التعبير

m++

تبقى 67 وبالتالي يحتفظ n بقيمة m قبل الزيادة ... وهذا ما يسمى بالزيادة اللاحقة .. (أي تحدث الزيادة بعد الاستخدام )

في هذا السطر :

cout<<"m="<<m++<<endl;

نستخدم فيمة m " ثم " نقوم بزيادتها ... بالتالي يطبع 67 ولكن m تصبح بعد هذا السطر 68

أما في السطر :

cout<<"m="<<++m<<endl;

فتتم الزيادة ثم الاستخدام ... الزيادة تجعله 69

 

الفكرة : عندما نضع ++ قبل المتحول نزيد المتحول ثم نستخدمه أما عند وضعها بعده يتم الاستخدام ثم الزيادة .

وهذه روابط مفيدة :
http://www.hotscripts.com/forums/c-c/57931-c-tip-what-difference-between-postfix-prefix-operators.html

http://www.dreamincode.net/forums/topic/231946-prefix-vs-postfix-operators-in-c/

 

حاولي وضع الكود في المرات القادمة في الوسم الخاص به : انقري العلامة <> عند تحرير المشاركة .. (حاولي تعديلها الآن )
 

بالتوفيق

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…