Pre-increment และ Post-increment ทั้งคู่เป็นออเปอเรเตอร์การเพิ่มค่า (increment operations) Pre-increment operator ใช้เพื่อเพิ่มค่าของตัวแปรบางตัวก่อนใช้มันในนิพจน์ ใน pre-increment ค่าจะถูกเพิ่มขึ้นก่อน แล้วจึงใช้ภายในนิพจน์
ถ้านิพจน์คือ a = ++b; และ b เก็บค่า 5 เริ่มต้น แล้ว a จะเก็บค่า 6 เพราะเพิ่ม b ขึ้น 1 ก่อน แล้วกำหนดค่าให้ a
โค้ดตัวอย่าง C++
#include <iostream>
using namespace std;
int main() {
int a, b = 15;
a = ++b;
cout << a;
}
ผลลัพธ์
16
โค้ดตัวอย่าง C
#include <stdio.h>
int main() {
int a, b = 15;
a = ++b;
printf("%d", a);
}
ผลลัพธ์
16
โค้ดตัวอย่าง Java
public class IncDec {
public static void main(String[] args) {
int a, b = 15;
a = ++b;
System.out.println("" + a);
}
}
ผลลัพธ์
16
โค้ดตัวอย่าง C#
using System;
namespace IncDec {
class Inc {
static void Main() {
int a, b = 15;
a = ++b;
Console.WriteLine(""+a);
}
}
}
ผลลัพธ์
16
Post-increment operator ใช้เพื่อเพิ่มค่าของตัวแปรบางตัวหลังจากใช้มันในนิพจน์ ใน post-increment ค่าจะถูกใช้ภายในนิพจน์ก่อน แล้วค่อยเพิ่มขึ้น 1
ถ้านิพจน์คือ a = b++; และ b เก็บค่า 5 เริ่มต้น แล้ว a จะเก็บค่า 5 เช่นกัน เพราะเพิ่ม b ขึ้น 1 หลังจากกำหนดค่าให้ a แล้ว
โค้ดตัวอย่าง C++
#include <iostream>
using namespace std;
int main() {
int a, b = 15;
a = b++;
cout << a << " " << b;
}
ผลลัพธ์
15 16
โค้ดตัวอย่าง C
#include <stdio.h>
int main() {
int a, b = 15;
a = b++;
printf("%d", a);
printf("%d", b);
}
ผลลัพธ์
15 16
โค้ดตัวอย่าง Java
public class IncDec {
public static void main(String[] args) {
int a, b = 15;
a = b++;
System.out.println("" + a);
System.out.println("" + b);
}
}
ผลลัพธ์
15 16
โค้ดตัวอย่าง C#
using System;
namespace IncDec {
class Inc {
static void Main() {
int a, b = 15;
a = b++;
Console.WriteLine(""+a);
Console.WriteLine(""+b);
}
}
}
ผลลัพธ์
15 16