JavaScript is required

In cái gì? void main() { static int i; while(i <= 10&&i >= 0) (i > 2 ? i++ : i--); printf("%d", i); getch(); }

A.

A.-1

B.

0

C.

1

D.

Lỗi biên dịch

Trả lời:

Đáp án đúng: C


Đoạn code này sử dụng biến static `i` được khởi tạo mặc định là 0. Vòng lặp `while` có điều kiện `i <= 10 && i >= 0`, tức là vòng lặp sẽ tiếp tục khi `i` nằm trong khoảng [0, 10]. Bên trong vòng lặp, toán tử bậc ba `(i > 2 ? i++ : i--)` được sử dụng để tăng hoặc giảm `i`. Nếu `i > 2`, `i` sẽ tăng lên (i++), ngược lại `i` sẽ giảm xuống (i--). Ban đầu, `i = 0`. Vì `i <= 2`, nên `i` giảm xuống thành -1. Kiểm tra điều kiện vòng lặp: `-1 <= 10 && -1 >= 0`. Điều kiện `-1 >= 0` là sai, do đó vòng lặp kết thúc. Cuối cùng, `printf("%d", i)` in giá trị của `i`, tức là -1. Vậy đáp án đúng là A.-1.

Câu hỏi liên quan