यहां हम एक C पहेली प्रश्न देखेंगे। मान लीजिए हमारे पास दो संख्याएं 48 और 96 हैं। हमें पहली संख्या को दूसरी संख्या के बाद जोड़ना है। इसलिए अंतिम परिणाम 9648 जैसा होगा। लेकिन हम किसी भी तार्किक, अंकगणितीय, स्ट्रिंग संबंधी ऑपरेशन का उपयोग नहीं कर सकते, साथ ही किसी भी पूर्वनिर्धारित फ़ंक्शन का उपयोग नहीं कर सकते। तो हम यह कैसे कर सकते हैं?
यह आसान है। हम C में टोकन पेस्टिंग ऑपरेटर (##) का उपयोग करके ऐसा कर सकते हैं। टोकन पेस्टिंग ऑपरेटर एक प्रीप्रोसेसर ऑपरेटर है। यह कंपाइलर को दो टोकन को एक स्ट्रिंग में जोड़ने या संयोजित करने का आदेश भेजता है। हम इस ऑपरेटर का उपयोग मैक्रो परिभाषा में करते हैं।
उदाहरण
#include<stdio.h>
#define MERGE(x, y) y##x
main() {
printf("%d", MERGE(48, 96));
}
आउटपुट
9648