C 单片机中一个字符串和一个整数值的串接

C 单片机中一个字符串和一个整数值的串接,c,concatenation,microcontroller,C,Concatenation,Microcontroller,我需要将字符串与整数连接起来。我正在使用以下代码: #include<stdio.h> #define SW_ENUM_VALID_COUNT(x) SW##x##_VALID_COUNT void main() { int b = 16; int SW16_VALID_COUNT=8; printf("%d",SW_ENUM_VALID_COUNT(b)); } 我应该怎么做才能得到表达式SW_ENUM_VALID_COUNTb SW16

我需要将字符串与整数连接起来。我正在使用以下代码:

#include<stdio.h>
#define SW_ENUM_VALID_COUNT(x) SW##x##_VALID_COUNT

void main()
{
      int b = 16;
      int SW16_VALID_COUNT=8;
       printf("%d",SW_ENUM_VALID_COUNT(b));
} 
我应该怎么做才能得到表达式SW_ENUM_VALID_COUNTb SW16_VALID_COUNT的结果,因为现在的结果是SWb_VALID_COUNT。

您不能这样做

代码中b等变量的值对预处理器不可用。

您不能这样做

预处理器无法使用代码中b等变量的值。

您的意思是printf调用中的SW_ENUM_VALID_COUNTb吗?x未定义…您是指printf调用中的SW_ENUM_VALID_COUNTb吗?x没有定义。。。