Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ความแตกต่างระหว่าง ++i และ i++ ใน C++


ความแตกต่างหลัก

  • Prefix (++i): เพิ่มค่า i แล้วคืนค่าใหม่ (increment แล้ว assign)
  • Postfix (i++): คืนค่าเดิม แล้วค่อยเพิ่มค่า i (assign แล้ว increment)

ตัวอย่าง

#include <iostream>
using namespace std;

int main() {
    int x = 3, y, z;
    y = x++;  // y = 3, x = 4
    z = ++x;  // x = 5, z = 5
    cout << x << ", " << y << ", " << z;
    return 0;
}

ผลลัพธ์

5, 3, 5

คำอธิบายละเอียด

  1. เริ่มต้น x = 3
  2. y = x++ → ประเมิน x++ ได้ค่า 3 (ค่าเก่า) แล้ว x = 4
  3. z = ++x → เพิ่ม x เป็น 5 ก่อน แล้วคืนค่า 5 ให้ z
  4. พิมพ์ x=5, y=3, z=5

หมายเหตุ: เนื้อหานี้ซ้ำกับ ID 1004083494 (Increment/Decrement operators)