Cú pháp toán tử ba ngôi:
(bieu_thuc_1) ? bieu_thuc_2 : bieu_thuc_3
Toán tử trả về một trong hai giá trị tùy kết quả biểu thức. Nếu "bieu_thuc_1" đúng (true), thì "bieu_thuc_2" được đánh giá và giá trị trả về, ngược lại "bieu_thuc_3" được đánh giá và trả về.
Ví dụ
Chương trình tìm max của hai số dùng toán tử ba ngôi:
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 20;
int max = a > b ? a : b;
cout << "Gia tri lon nhat = " << max << "\n";
return 0;
}
So sánh cú pháp với ví dụ:
- bieu_thuc_1 là (a > b)
- bieu_thuc_2 là a
- bieu_thuc_3 là b
Đầu tiên, a > b được đánh giá, kết quả false vì a < b. Do đó giá trị b (20) được trả về và gán cho max.
Kết quả
Khi biên dịch và chạy, đầu ra:
Gia tri lon nhat = 20