public class Delta {
public class Delta {
static boolean foo(char c) {
System.out.print(c);
return true;
}
public static void main(String[] argv) {
int i = 0;
for (foo(‘A’);
foo(‘B’) && (i < 2); foo(‘C’)) {
i++;
foo(‘D’);
12.
}
}
}
Kết quả in ra của đoạn mã trên là gì?
A. ABDCBDCB
B. ABCDABCD
C. Lỗi biên dịch
D. Chương trình không lỗi, nhưng khi chạy sẽ sinh lỗi
Hướng dẫn
Chọn A là đáp án đúng
Xem lời giải
Xem lời giải
Đáp án đúng là: ABDCBDCB
Vì:
+ Bắt đầu vòng lặp sẽ gọi foo(‘A’) => In ra chữ A
+ Thực hiện lệnh foo(‘B’) && i in ra B
+ Thực hiện foo(‘D’) => in ra D
+ Thực hiện foo(‘C’) => in ra C
Tiếp theo tăng i lên 1 và thực hiện lần lượt các lệnh foo(‘B’), foo(‘D’), foo(‘C’) => in ra BDC
Và cuối cùng tăng i=2 rồi thực hiện lệnh foo(‘B’)&i in ra B và kết thúc vòng lặp
ð In ra là: ABDCBDCB