原文網址,本文不是徹底翻譯,而是本身吸取過後,在寫下此筆記html
有一變數a=12,b=36,請寫出一個c function/macro,回傳3612且不使用算數運算和字串處理的函式.code
當擴展##
macro時,##
會將左右兩邊的符號(token),合併為一個符號(token).htm
#include <stdio.h> #define merge(a, b) a##b int main() { int a = 12; int b = 36; printf("%d ", merge(a, b)); } // Output: 1234
有了Token-Pasting Operator,應該不難想出此題的解答token
#include <stdio.h> #define merge(a, b) b##a int main() { int a = 12; int b = 36; printf("%d ", merge(a, b)); } // Output: 3612