30/09/2018, 17:25

Toán tử ? và : trong C có nghĩa gì ?!

Cho em hỏi toán tử ? và : trong C có nghĩa là gì ạ.
Ví dụ như đoạn code sau: player=(player%2)?1:2;
Em cảm ơn.

IDL viết 19:30 ngày 30/09/2018

à. Cái này là 1 dạng if rút gọn, có thể hiểu như sau:

if (player % 2) {
    player = 1;
} else {
    player = 2;
}

Lưu ý là loại này thường chỉ sử dụng cho 1 câu lệnh. thường dùng để gán giá trị trả về
Tên tiếng Anh của nó là Ternary Operators (?
Nếu muốn lòng thêm cấp.

if (player % 2 == 1) {
    player = 1;
} else {
    if (player % 2 == 0) {
       player = 2;
    } else {
       player = 3;
    }
}

thì được viết như sau:

player = (player % 2 == 1) ? 1 : ((player % 2 == 0) ? 2 : 3);
Bài liên quan
0