--- title: Ternary Operator localeTitle: مشغل ثلاثي --- ## مشغل ثلاثي يستخدم المبرمجون المشغلين الثلاثيين في C من أجل اتخاذ القرار في مكان البيانات الشرطية **إذا كان الأمر** **آخر** . المشغل الثلاثي هو مشغل يأخذ ثلاث حجج. الحجة الأولى هي حجة المقارنة ، والثاني هو النتيجة على المقارنة الحقيقية ، والثالث هو النتيجة على مقارنة خاطئة. إذا كان يساعدك على التفكير في المشغل كطريقة مختصرة لكتابة عبارة if-else. في ما يلي مثال بسيط لصنع القرار باستخدام **if** and **else** : `int a = 10, b = 20, c; if (a < b) { c = a; } else { c = b; } printf("%d", c); ` يأخذ هذا المثال أكثر من 10 أسطر ، لكن هذا ليس ضروريًا. يمكنك كتابة البرنامج أعلاه في 3 أسطر فقط من الشفرة باستخدام **المشغل الثلاثي** . ### بناء الجملة `condition ? value_if_true : value_if_false` يثبت البيان على statement\_1 إذا كانت الشرط صحيحًا ، و statement\_2 على خلاف ذلك. فيما يلي المثال أعلاه الذي تمت إعادة كتابته لاستخدام المشغل الثلاثي: `int a = 10, b = 20, c; c = (a < b) ? a : b; printf("%d", c); ` يجب أن يكون إخراج المثال: `10 ` تم تعيين `c` يساوي `a` ، لأن الشرط `a