ที่นี่เราจะมาดูวิธีการกำหนดมาโครที่เรียกว่า PRINT(x) และสิ่งนี้จะพิมพ์ค่าของ x ที่ส่งผ่านเป็นอาร์กิวเมนต์
เพื่อแก้ปัญหานี้ เราจะใช้ตัวดำเนินการ stringize การใช้ตัวดำเนินการนี้ x จะถูกแปลงเป็นสตริง จากนั้นเมื่อเรียกใช้ฟังก์ชัน printf() ภายใน ค่าของ x จะถูกพิมพ์ออกมา เรามาดูตัวอย่างเพื่อทำความเข้าใจกันดีกว่า
ตัวอย่าง
#include <stdio.h>
#define PRINT(x) printf(#x)
int main () {
PRINT(Hello);
printf("\n");
PRINT(26);
printf("\n");
PRINT(2.354721);
printf("\n");
} ผลลัพธ์
Hello 26 2.354721