宏的##嵌套问题
Posted aron566
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宏的##嵌套问题相关的知识,希望对你有一定的参考价值。
宏的##嵌套问题
错误demo
#define VAL 55
#define CAT_STR(A, B) A##B
int main(void)
// 当宏表达式的形参给 宏 [VAL] 出现问题
int CAT_STR(Temp, VAL); //展开得: int TempVAL; 你期望的是int Temp55;
printf("Temp = %d", Temp);
return 0;
改正demo
#define VAL 55
#define _CAT_STR(A, B) A##B
#define CAT_STR(A, B) _CAT_STR(A, B)
int main(void)
int CAT_STR(Temp, VAL);
printf("Temp = %d", Temp);
return 0;
以上是关于宏的##嵌套问题的主要内容,如果未能解决你的问题,请参考以下文章