Cho khối lệnh sau: for (int i = 0; i <= 10; i++) { if (i = 3) continue; System.out.print(i);} Khi chạy chương trình sẽ in ra kết quả là bao nhiêu?
=>
Trả lời:
Đáp án đúng: D
Đoạn code sử dụng vòng lặp `for` để duyệt các số từ 0 đến 10. Trong vòng lặp, có một câu lệnh `if (i = 3) continue;`. Đây là lỗi cú pháp phổ biến trong Java và C++. Phép gán `=` được sử dụng thay vì phép so sánh `==`. Do đó, biểu thức `i = 3` sẽ gán giá trị 3 cho `i` và trả về 3 (khác 0), điều này luôn được hiểu là `true`. Vì vậy, `continue` luôn được thực thi, bỏ qua lệnh `System.out.print(i)` trong mọi lần lặp. Tuy nhiên, trước khi đi vào vòng lặp, chương trình vẫn sẽ thực hiện các bước khởi tạo và kiểm tra điều kiện. Do lỗi cú pháp `i=3` trong câu lệnh điều kiện `if`, đoạn code này sẽ báo lỗi biên dịch.