في النهاية وجدت ذلك على شبكة الإنترنت. هناك تفسير احترافي لكيفية تقييم القيم المنطقية في C. MQL لديها الكثير من الأمور الشائعة في C و C ؛ وهذا ما كنت أحاول شرحه في مقالتي. ربما لا يكون هذا الأمر مناسبًا جدًا بالنسبة إليك ، فقد تحل المشكلة الأخرى ، ولكن من المثير للاهتمام أن نفهم ما يلي: هذا هو الاقتباس من البرنامج التعليمي:/quote لقد صادفنا الآن ربما أكثر مسابقات التلاعب بسهولة. في C: عامل اختبار المساواة هو == ، وليس a ، والتي يمكن أن تكون مهمة. إذا كنت تكتب عن غير قصد ما إذا كانت (a = 0) (ومن المحتمل أن تقوم بذلك في أي وقت ؛ والجميع يرتكبون هذا الخطأ) ، فلن يتحقق ذلك إذا لم يكن الصفر ، كما قد تنوي. بدلاً من ذلك ، سيتم تعيين 0 للبعض ، ثم تنفيذ الفرع ”الحقيقي” لبيان if عندما يكون غير صفري. ومع ذلك ، تم تعيين وصية للقيمة 0 ، لذلك لن يتم أخذ الفرع ”الحقيقي” على الإطلاق! (قد يؤدي ذلك إلى إثارة غضبك أثناء تصحيح الأخطاء - كنت ترغب في القيام بشيء إذا كانت 0 ، وبعد الاختبار ، تساوي 0 ، ما إذا كان من المفترض أن تكون أو لا ، ولكن الفرع ”الحقيقي” لم يؤخذ.)/نهاية الاقتباس. برمجة بهيجة.