شرح المشغل الثلاثي في ​​C.

يستخدم المبرمجون العامل الثلاثي لاتخاذ القرار بدلاً من العبارات الشرطية الأطول if و else .

يأخذ العامل الثلاثي ثلاث حجج:

  1. الأول هو حجة المقارنة
  2. والثاني هو نتيجة مقارنة حقيقية
  3. والثالث هو نتيجة مقارنة خاطئة

من المفيد التفكير في العامل الثلاثي على أنه طريقة مختصرة أو كتابة عبارة 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