นี่คือปริศนาภาษา C หนึ่งข้อ สมมติเรามีตัวเลข 2 ตัวคือ 48 และ 96 เราต้องนำตัวเลขแรกต่อท้ายตัวเลขที่สอง ผลลัพธ์ควรเป็น 9648 แต่ห้ามใช้การดำเนินการตรรกะ คณิตศาสตร์ สตริง หรือฟังก์ชันสำเร็จรูปใดๆ แล้วจะทำอย่างไร?
คำตอบคือ ใช้ Token Pasting Operator (##) ใน C ตัวดำเนินการนี้เป็น Preprocessor Operator ส่งคำสั่งให้คอมไพเลอร์ต่อ Token สองชิ้นเป็นสตริงเดียว เราใช้ตัวดำเนินการนี้ในการกำหนด Macro
ตัวอย่าง
#include <stdio.h>
#define MERGE(x, y) y##x
main() {
printf("%d", MERGE(48, 96));
}ผลลัพธ์
9648