ตัวดำเนินการจุลภาคในภาษาการเขียนโปรแกรม C/C++ มีสองบริบท -
-
เป็นตัวคั่น -
-
ในฐานะที่เป็นตัวดำเนินการ − ตัวดำเนินการเครื่องหมายจุลภาค { , } คือตัวดำเนินการไบนารีที่ละทิ้งนิพจน์แรก (หลังการประเมิน) แล้วใช้ค่าของนิพจน์ที่สอง โอเปอเรเตอร์นี้มีความสำคัญน้อยที่สุด
พิจารณารหัสต่อไปนี้และเดาผลลัพธ์ -
ตัวอย่าง
#include <stdio.h>
int main(void) {
char ch = 'a', 'b', 'c';
printf("%c", ch);
return 0;
} ผลลัพธ์
มันทำให้เกิดข้อผิดพลาดเพราะทำงานเป็นตัวคั่น
prog.c: In function ‘main’: prog.c:5:20: error: expected identifier or ‘(’ before 'b' char ch = 'a', 'b', 'c'; ^~~
ตัวอย่าง
#include <stdio.h>
int main(void) {
char ch;
ch = 'a','b','c';
printf("%c", ch);
return 0;
} ผลลัพธ์
มันให้ a เป็นเอาต์พุตตามที่ใช้งานได้เพราะ ',' ทำงานเป็นโอเปอเรเตอร์ แต่ลำดับความสำคัญต่ำกว่าโอเปอเรเตอร์ที่ได้รับมอบหมายดังนั้นเอาต์พุตจึงเป็น a.
a
ตัวอย่าง
#include <stdio.h>
int f1() {
return 43;
}
int f2() {
return 123 ;
}
int main(void) {
int a;
a = (f1() , f2());
printf("%d", a);
return 0;
} ผลลัพธ์
ให้ 123 เนื่องจากเอาต์พุตเป็น ', ' ทำงานเป็นตัวดำเนินการและอยู่ในวงเล็บปีกกาจะทำงานและประเมินนิพจน์ที่สองและให้เอาต์พุต
123