Đầu ra là gì? #include
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.