ที่นี่เราจะมาดูวิธีการกำหนดมาโครที่เรียกว่า 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