1.4.16 Toán tử pre- và post- (1)

Chúng ta hãy cùng thảo luận một chút về các toán tử sau:

Toán tử pre- (còn gọi là toán tử dạng tiền tố):

++Variable       pre-increment operator

– -Variable       pre-decrement operator

Tác dụng: tăng/giảm biến 1 đơn vị và sử dụng giá trị của biến đó sau khi đã tăng/giảm.


Toán tử post- (còn gọi là toán tử dạng hậu tố):

Variable++       post-increment operator

Variable- –       post-decrement operator

Tác dụng: sử dụng giá trị gốc của biến (chưa thay đổi) sau đó tăng/giảm biến 1 đơn vị.

pre- có nghĩa là biến được thay đổi trước và sau đó giá trị của nó được sử dụng; and post- có nghĩa là giá trị của biến được sử dụng sau đó mới bị thay đổi


Hãy nhìn vào ví dụ đơn giản sau

Đầu tiên, biến i được gán bằng 1, ở câu lệnh tiếp theo thì bao gồm 2 bước sau:

  • Giá trị của biến sẽ được lấy ra (bởi vì chúng ta đang xử dụng toán tử post-increment),
  • Sau đó gái trị của biến i sẽ tăng thêm 1 đơn vị.

Cuối cùng, j sẽ nhận giá trị là 1, và i sẽ nhận giá trị là 2.

Mọi thứ sẽ thay đổi nếu code như sau:

Biến i được gán bằng 1, tiếp theo giá trị của biến i sẽ tăng 1 đơn vị và trở thành 2. Tiếp theo giá trị của biến i sau khi tăng sẽ được gán cho biến j. Và cuối cùng ij đều bằng 2.