JavaScript is required

What is the output of the following code?
Media VietJack

A.
100
B.
101
C.
none
D.
compile error
Trả lời:

Đáp án đúng: A


Đoạn code trên có lỗi cú pháp, cụ thể là ở dòng `if(i = 100)`. Trong C++, toán tử `=` là toán tử gán, không phải toán tử so sánh bằng. Toán tử so sánh bằng là `==`. Do đó, biểu thức `i = 100` sẽ gán giá trị 100 cho `i` và trả về giá trị 100 (khác 0, nên được coi là true trong ngữ cảnh điều kiện của `if`). Vì vậy, điều kiện `if` luôn đúng, và đoạn code `System.out.println(i++)` sẽ luôn được thực thi. Vòng lặp `while` sẽ chạy vô hạn, và mỗi lần chạy, giá trị của `i` (đã được gán là 100 ở điều kiện `if`) sẽ được in ra và sau đó tăng lên 1. Tuy nhiên, vì có lỗi cú pháp (sử dụng `=` thay vì `==` trong điều kiện `if`), code sẽ không biên dịch được. Vì vậy, đáp án đúng là "compile error".

Câu hỏi liên quan