JavaScript is required

Kết quả của chương trình sẽ là gì? #include #include int main() { int i = 4, j = -1, k = 0, w, x, y, z; w = i||j||k; x = i&&j&&k y = i||j&&k z = i&&j||k; printf("%d %d %d %d", w, x, y, z); getch(); }

A.

1 1 1 1

B.

1 0 0 1

C.

1 0 1 1

D.

Khác

Trả lời:

Đáp án đúng: C


Đoạn chương trình sử dụng các toán tử logic trong C. * `w = i||j||k;` Biểu thức này sử dụng toán tử OR (`||`). Vì `i = 4` (khác 0), biểu thức `i||j||k` sẽ trả về 1 (true) mà không cần xét đến `j` và `k`. * `x = i&&j&&k;` Biểu thức này sử dụng toán tử AND (`&&`). Vì `i = 4` (khác 0) và `j = -1` (khác 0), biểu thức `i&&j` sẽ trả về 1 (true). Tiếp theo, `1 && k` sẽ được tính. Vì `k = 0`, biểu thức `1 && 0` trả về 0 (false). * `y = i||j&&k;` Toán tử `&&` có độ ưu tiên cao hơn `||`. Do đó, biểu thức được tính như sau: `j&&k`. Vì `j = -1` (khác 0) và `k = 0`, `j&&k` trả về 0. Sau đó, `i||0` được tính. Vì `i = 4` (khác 0), `i||0` trả về 1. * `z = i&&j||k;` Toán tử `&&` có độ ưu tiên cao hơn `||`. Do đó, biểu thức được tính như sau: `i&&j`. Vì `i = 4` (khác 0) và `j = -1` (khác 0), `i&&j` trả về 1. Sau đó, `1||k` được tính. Vì `k = 0`, `1||0` trả về 1. Vậy, kết quả in ra màn hình là: `1 0 1 1`.

Câu hỏi liên quan