JavaScript is required

Which of the following is the correct usage of condition operators used in C?

A.
a>b? c = 20 : c = 21;
B.
a>b? c = 20;
C.
max = a>b? a>c?a:c:b>c?b:c;
D.
return (a>b)?(a:b);
Trả lời:

Đáp án đúng: C


Câu hỏi kiểm tra về cách sử dụng đúng cú pháp của toán tử điều kiện (ternary operator) trong C. Toán tử này có cú pháp: `condition ? expression1 : expression2`. Nếu `condition` đúng, `expression1` được thực thi; nếu sai, `expression2` được thực thi. * **A. a>b? c = 20 : c = 21;**: Đúng. Đây là cách sử dụng chính xác toán tử điều kiện. Nếu `a > b` đúng, `c` sẽ nhận giá trị 20; ngược lại, `c` sẽ nhận giá trị 21. * **B. a>b? c = 20;**: Sai. Toán tử điều kiện yêu cầu cả hai nhánh (true và false). Thiếu nhánh `false` sau dấu hai chấm `:`. * **C. max = a>b? a>c?a:c:b>c?b:c;**: Đúng về mặt cú pháp, đây là một cách sử dụng toán tử điều kiện lồng nhau. Nếu a > b thì so sánh a và c để tìm max, ngược lại so sánh b và c để tìm max. Tuy nhiên cách viết này có thể khó đọc. * **D. return (a>b)?(a:b);**: Sai. Trong biểu thức `(a:b)` sau dấu `?`, toán tử `:` không được sử dụng để chỉ định giá trị trả về. Cần phải sửa thành `(a>b)? a : b` để trả về `a` nếu `a>b` đúng và `b` nếu sai.

Câu hỏi liên quan