JavaScript is required

What is output?
Media VietJack

A.
0
B.
-1
C.
-2
D.
-3
Trả lời:

Đáp án đúng: B


Đoạn code được cung cấp thực hiện các phép toán số học cơ bản. Ta sẽ đi qua từng bước: 1. `int x = 5;` Khởi tạo biến `x` kiểu số nguyên và gán giá trị 5. 2. `x -= x--;` Phép toán này có thể gây nhầm lẫn. Đầu tiên, `x--` (post-decrement) trả về giá trị hiện tại của `x` (tức là 5), sau đó giảm `x` đi 1. Vậy, biểu thức trở thành `x = x - 5`. Do đó, `x` trở thành `5 - 5 = 0`. 3. `x -= --x;` `--x` (pre-decrement) giảm `x` đi 1 trước, vậy `x` từ 0 trở thành -1. Sau đó, `--x` trả về giá trị mới của `x` (tức là -1). Vậy, biểu thức trở thành `x = x - (-1)`. Do đó, `x` trở thành `-1 - (-1) = -1 + 1 = 0`. 4. `x -= x++;` `x++` (post-increment) trả về giá trị hiện tại của `x` (tức là 0), sau đó tăng `x` lên 1. Vậy, biểu thức trở thành `x = x - 0`. Do đó, `x` vẫn là `0`. 5. `x -= ++x;` `++x` (pre-increment) tăng `x` lên 1 trước, vậy `x` từ 0 trở thành 1. Sau đó, `++x` trả về giá trị mới của `x` (tức là 1). Vậy, biểu thức trở thành `x = x - 1`. Do đó, `x` trở thành `0 - 1 = -1`. Vậy, kết quả cuối cùng của `x` là -1.

Câu hỏi liên quan