Comma (,) ใน C/C++ มี 2 บทบาท:
1. Comma Operator (Binary Operator)
- Evaluate operand ซ้าย ทิ้งผล แล้ว Evaluate operand ขวา คืนค่าขวา
- Precedence ต่ำสุด
int x = (50, 60); // x = 60 int y = (func1(), func2()); // เรียก func1() แล้ว func2() คืนค่า func2()
2. Comma Separator
- คั่นพารามิเตอร์ใน Function Call/Definition
- ทุก Item จะถูกใช้งานทั้งหมด (ไม่ใช่ Operator)
int x = 5, y = 10; // Declaration func(x, y); // Function Call
ตัวอย่าง Comma Operator
int a = 50;
int b = (a++, ++a); // a=51 แล้ว a=52 -> b=52
printf("%d", b);
52