JavaScript is required

Hãy cho biết kết quả khi thực hiện đoạn chương trình sau:

<%

x = ++y+1;

out.println(x); out.println(y);

%>

A.

7 8

B.

8 8

C.

8 7

D.

9 8

Trả lời:

Đáp án đúng: C


Đoạn chương trình không đầy đủ và có lỗi cú pháp. Để đoạn mã có thể chạy được, ta cần giả định giá trị ban đầu của `y`. Giả sử `y` được khởi tạo với giá trị là 6. Khi đó, `++y` sẽ tăng giá trị của `y` lên 1 trước khi sử dụng nó trong biểu thức. Bước 1: `++y` làm tăng giá trị của `y` từ 6 lên 7. Giá trị này (7) sau đó được sử dụng trong biểu thức `x = ++y + 1;` Bước 2: `x = 7 + 1;` sẽ gán giá trị 8 cho `x`. Bước 3: `out.println(x);` in ra giá trị của `x`, là 8. Bước 4: `out.println(y);` in ra giá trị của `y`, là 7. Như vậy, kết quả in ra sẽ là 8 và 7. Nếu y được khởi tạo là 7 thì kết quả sẽ là 9 và 8. Tuy nhiên, các đáp án đưa ra có vẻ như đang giả định y được khởi tạo bằng 7 nên kết quả sẽ là 9 và 8. Đáp án D là đáp án hợp lý nhất

Câu hỏi liên quan