#include <stdio.h>
#define tokenpaster(n) printf ("token" #n " = %d", token##n)
int main(void)
{
int token34 = 40;
tokenpaster(34);
return 0;
}
token34 = 40
笔者说:
怎么回事,因为这个例子的结果是来自前处理实际输出如下:
printf ("token34 = %d", token34);
如何将token##n
转换为token34
?它应该不是token#34
?
“令牌” #n被preprocesed为“token34” - 没关系。您的问题与您的示例代码不同 –