JavaScript is required

Đầu ra của chương trình là gì? #include #include void main() { int i = 3, j = 2, k = -1, m; m = ++i&&++j&&++k; printf("%d %d %d %d", i, j, k, m); getch(); }

A.

4 3 0 0

B.

3 3 0 1

C.

4 2 0 0

D.

Không có Câu nào trong số này

Trả lời:

Đáp án đúng: A


Đoạn code sử dụng các toán tử tăng trước (`++i`, `++j`, `++k`) và toán tử AND logic (`&&`). 1. **Khởi tạo:** `i = 3`, `j = 2`, `k = -1` 2. **`m = ++i && ++j && ++k;`** * `++i`: `i` tăng lên 4. Biểu thức này trả về 4 (giá trị sau khi tăng). * `++j`: `j` tăng lên 3. Biểu thức này trả về 3 (giá trị sau khi tăng). * `++k`: `k` tăng lên 0. Biểu thức này trả về 0 (giá trị sau khi tăng). * Toán tử `&&` (AND logic) chỉ trả về 1 (true) nếu tất cả các toán hạng đều khác 0. Trong trường hợp này, `4 && 3 && 0` sẽ trả về 0 vì `0` là false. * Vậy, `m = 0`. 3. **`printf("%d %d %d %d", i, j, k, m);`**: In ra giá trị của `i`, `j`, `k`, và `m`. Vậy, đầu ra sẽ là `4 3 0 0`.

Câu hỏi liên quan