【C】##拼接和#拼接
阿新 • • 發佈:2018-12-12
舉例1
/* C++的小知識(## 連線符與# 符) https://blog.csdn.net/qq_35240555/article/details/80264089 */ /* [email protected]:~/test/c$ gcc main.c -o main [email protected]:~/test/c$ ./main result9 = 9 */ #include <stdio.h> #define paster(n) printf("result"#n" = %d\n", token##n) int main(void) { int token9 = 9; paster(9); return 0; }
舉例2
/* C++的小知識(## 連線符與# 符) https://blog.csdn.net/qq_35240555/article/details/80264089 */ /* [email protected]:~/test/c$ gcc main1.c -o test [email protected]:~/test/c$ ./test hi_run is running hello_run is running */ #include <stdio.h> /* 巨集定義總入口 */ #define run(comp)\ do{\ comp##_run();\ }while(0) void hi_run(void) { printf("hi_run is running\n"); } void hello_run(void) { printf("hello_run is running\n"); } int main(void) { run(hi); run(hello); return 0; }