Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Toán tử ba ngôi (Ternary Operator) trong C/C++


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