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

Tags: