Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Tiền tố (Pre-increment) và Hậu tố (Post-increment) trong C/C++

Toán tử tăng (++) tăng giá trị lên 1, toán tử giảm (--) giảm giá trị đi 1.

  • Pre-increment (++i): Tăng giá trị trước khi sử dụng trong biểu thức.
  • Post-increment (i++): Sử dụng giá trị hiện tại trước, sau đó mới tăng.

Cú pháp

++variable_name; // Pre-increment
variable_name++; // Post-increment

Ví dụ trong C++

#include <iostream>
using namespace std;

int main() {
    int i = 5;
    cout << "Gia tri ban dau: " << i;
    
    // Pre-increment: ++i < 10 -> i tăng trước, rồi so sánh
    cout << "\nPre-increment: ";
    while (++i < 10)
        cout << "\t" << i;
    
    cout << "\nSau vong pre, i = " << i; // i = 10
    
    // Post-increment: i++ < 15 -> so sánh trước, rồi tăng
    cout << "\nPost-increment: ";
    while (i++ < 15)
        cout << "\t" << i;
    
    return 0;
}

Kết quả

Gia tri ban dau: 5
Pre-increment: 	6	7	8	9
Sau vong pre, i = 10
Post-increment: 	11	12	13	14	15

Giải thích chi tiết:

  • Pre-increment: ++i tăng i từ 5→6, so sánh 6<10 (true), in 6. Tiếp tục đến khi ++i thành 10, so sánh 10<10 (false), dừng. Lúc này i=10.
  • Post-increment: i++ so sánh i (10) với 15 (true), sau đó i thành 11, in 11. Lặp lại cho đến khi so sánh 15<15 (false). Cuối cùng i=16.
Lưu ý: Trong biểu thức phức tạp, tránh dùng cả pre và post increment trên cùng một biến (undefined behavior theo chuẩn C/C++).