Computer >> Máy Tính >  >> Lập trình >> C ++

Sự khác biệt giữa ++ i và i ++ trong C ++ là gì?


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

  • Trong phiên bản tiền tố (tức là ++ i), giá trị của i được tăng dần và giá trị của biểu thức là giá trị mới của i. Vì vậy, về cơ bản, nó tăng đầu tiên sau đó gán một giá trị cho biểu thức.
  • Trong phiên bản hậu tố (tức là i ++), giá trị của i được tăng lên, nhưng giá trị của biểu thức là giá trị ban đầu của i. Vì vậy, về cơ bản, trước tiên nó gán một giá trị cho biểu thức và sau đó tăng biến.

Ví dụ

Hãy xem một số đoạn mã để hiểu rõ hơn -

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

Đầu ra

Điều này sẽ cung cấp cho chúng tôi đầu ra -

5, 3, 5

Tại sao lại như vậy? Hãy xem xét nó một cách chi tiết -

  • Khởi tạo x thành 3
  • Gán cho y giá trị mà chúng ta nhận được bằng cách đánh giá biểu thức x ++, tức là giá trị của x trước khi tăng sau đó tăng x.
  • Số tăng x rồi gán cho z giá trị mà chúng ta nhận được bằng cách đánh giá biểu thức ++ x, tức là giá trị của x sau số tăng.
  • In các giá trị này