Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

C/C++ Ternary Operator (Conditional Operator)

Ternary operator: condition ? expr_if_true : expr_if_false

คืนค่า expr_if_true ถ้า condition เป็นจริง มิฉะนั้น expr_if_false

ตัวอย่าง: หาค่าสูงสุดของสองจำนวน

int a = 10, b = 20;
int max = (a > b) ? a : b; // max = 20

การทำงาน

  1. ประเมิน a > b → false
  2. เลือก expr_if_false คือ b (20)
  3. กำหนดให้ max = 20

ข้อดี

  • เขียนสั้นกว่า if-else
  • เป็น expression (มีค่า) ใช้ใน initialization ได้
  • เหมาะกับการ return ค่าแบบสั้น

ข้อควรระวัง

ไม่ควร nested ternary ลึกเกินไป (อ่านยาก) และหลีกเลี่ยง side effects ใน expressions