اذهب إلى المحتوى

السؤال

نشر

في أحد المواقع وجدت كود يقوم بعمل حلقة while لطباعة الأرقام من 10 إلى 0 ويبدو الكود بسيط:

#include <iostream>

int main()
{
    int x = 11;
    while (x --> 0)
    {
        std::cout << x << std::endl;
    }

    return 0;
}

الغريب في الكود هو وجود المعامل <-- في شرط حلقة التكرار، ما هو هذا المعامل وكيف تم تغير قيمة x من 11 إلى 0؟

Recommended Posts

  • 2
نشر

في الواقع هذا ليس معامل واحد بل معاملين معًا، الأول هو معامل الإنقاص -- والثاني هو معامل المقارنة  < ، وبذلك يتم مقارنة قيمة x مع الصفر ثم يتم إنقاص واحد من هذه القيمة، ليكون الكود أوضح يمكنك أن تستخدم الأقواس، كالتالي:

#include <iostream>

int main()
{
    int x = 11;
    while ((x--) > 0)
    {
        std::cout << x << std::endl;
    }

    return 0;
}

لاحظ يبدو الكود أكثر وضوحًا الآن، كما يمكن إستعمال نفس الطريقة في حلقة for:

for(int x = 11; x --> 0;)
{
    std::cout << x << std::endl;
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...