JavaScript is required

Đầu ra là gì? #include #include void main() { static int i; int j; for(j = 0; j <= 5; j++) switch(j) { case 1: i++; break; case 2: i+=2; case 4: i /= 1; j += 1; continue; default: --i; continue; } printf ("%d", i); getch(); }

A.

0

B.

B.2

C.

C.3

D.

D.-4

Trả lời:

Đáp án đúng: B


Đoạn code này sử dụng vòng lặp `for` và cấu trúc `switch` để thay đổi giá trị của biến `i`. Biến `i` được khai báo là `static`, nghĩa là nó chỉ được khởi tạo một lần và giữ giá trị của nó giữa các lần gọi hàm. Ban đầu, `i` được khởi tạo là 0. Vòng lặp `for` chạy từ `j = 0` đến `j = 5`. - **j = 0**: `default` được thực thi: `i` trở thành -1. - **j = 1**: `case 1` được thực thi: `i` trở thành 0. - **j = 2**: `case 2` được thực thi: `i` trở thành 2. Sau đó, không có `break`, nên `case 4` cũng được thực thi: `i` trở thành 2 / 1 = 2, `j` trở thành 3, và `continue` được gọi, bỏ qua phần còn lại của vòng lặp hiện tại. - **j = 3**: `default` được thực thi: `i` trở thành 1. - **j = 4**: `case 4` được thực thi: `i` trở thành 1 / 1 = 1, `j` trở thành 5, và `continue` được gọi, bỏ qua phần còn lại của vòng lặp hiện tại. - **j = 5**: `default` được thực thi: `i` trở thành 0. Vậy, giá trị cuối cùng của `i` là 0.

Câu hỏi liên quan