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

Khác biệt giữa ++i và i++ trong C++

Có sự khác biệt lớn giữa phiên bản hậu tố (suffix) và tiền tố (prefix) của ++.

  • Tiền tố (++i): giá trị i được tăng, và giá trị biểu thức là giá trị mới của i. Tức là tăng trước, gán cho biểu thức sau.
  • Hậu tố (i++): giá trị i được tăng, nhưng giá trị biểu thức là giá trị cũ của i. Tức là gán cho biểu thức trước, tăng biến sau.

Ví dụ

#include <iostream>
using namespace std;
int main() {
    int x = 3, y, z;
    y = x++;
    z = ++x;
    cout << x << ", " << y << ", " << z;
    return 0;
}

Kết quả

5, 3, 5

Tại sao? Chi tiết:

  • Khởi tạo x = 3
  • Gán y giá trị từ biểu thức x++, tức giá trị x trước khi tăng, rồi mới tăng x.
  • Tăng x rồi gán z giá trị từ biểu thức ++x, tức giá trị x sau khi tăng.
  • In các giá trị