ตัวดำเนินการจุลภาคในภาษาการเขียนโปรแกรม 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