شرح المشغل الثلاثي في C.
يستخدم المبرمجون العامل الثلاثي لاتخاذ القرار بدلاً من العبارات الشرطية الأطول if و else .
يأخذ العامل الثلاثي ثلاث حجج:
- الأول هو حجة المقارنة
- والثاني هو نتيجة مقارنة حقيقية
- والثالث هو نتيجة مقارنة خاطئة
من المفيد التفكير في العامل الثلاثي على أنه طريقة مختصرة أو كتابة عبارة 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
يتم تقييم البيان إلى value_if_true
ما إذا condition
تم الوفاء به ، وغير value_if_false
ذلك.
إليك المثال أعلاه المعاد كتابته لاستخدام عامل التشغيل الثلاثي:
int a = 10, b = 20, c; c = (a < b) ? a : b; printf("%d", c);
يجب أن يكون ناتج المثال أعلاه:
10
c
يساوي a
، لأن الشرط a < b
كان صحيحًا.
تذكر أن الحجج value_if_true
و value_if_false
يجب أن يكون من نفس النوع، ويجب أن تكون عبارات بسيطة بدلا من بيانات كاملة.
يمكن دمج العوامل الثلاثية تمامًا مثل عبارات if-else. ضع في اعتبارك الكود التالي:
int a = 1, b = 2, ans; if (a == 1) { if (b == 2) { ans = 3; } else { ans = 5; } } else { ans = 0; } printf ("%d\n", ans);
إليك الكود أعلاه المعاد كتابته باستخدام عامل تشغيل ثلاثي متداخل:
int a = 1, b = 2, ans; ans = (a == 1 ? (b == 2 ? 3 : 5) : 0); printf ("%d\n", ans);
يجب أن يكون ناتج مجموعتي التعليمات البرمجية أعلاه:
3