ให้เราพิจารณาในภาษา C หรือ C++ มีคำสั่งเช่น:
c = a+++b;
แล้วบรรทัดนี้มีความหมายว่าอย่างไร
ให้ a และ b ถือ 2 และ 5 ตามลำดับ นิพจน์นี้สามารถใช้เป็นสองประเภทที่แตกต่างกัน
- c =(a++) + b
- c =a + (++b)
มีตัวดำเนินการเพิ่มหลัง เช่นเดียวกับตัวดำเนินการเพิ่มล่วงหน้า ขึ้นอยู่กับลักษณะการใช้งาน
มีสองแนวคิดพื้นฐาน ลำดับความสำคัญและการเชื่อมโยง ทีนี้ถ้าเราตรวจสอบนิพจน์จากซ้ายไปขวา ผลลัพธ์ก็จะเป็นสองสิ่งนี้
- c =(a++) + b → 2 + 5 =7
- c =a + (++b) → 2 + 6 =8
ตอนนี้ให้เราตรวจสอบว่าคอมไพเลอร์ใช้ตัวเลือกใด -
โค้ดตัวอย่าง
#include <iostream> using namespace std; main() { int a = 2, b = 5; int c; c = a+++b; cout << "C is : " << c; }
ผลลัพธ์
C is : 7
นี่คือตัวเลือกแรก