如何检索从宏扩展的文本?
#include <stdio.h>
#define paste(front, back) front ## back
int main()
{
int number1 = 23;
int number2 = 64;
printf("%d\n", paste(number, 2));
return 0;
}
输出为:64,因为宏扩展为:
printf("%d\n", number2);
如何使用定义的粘贴宏将标识符 number2 打印为字符串。我需要知道如何 通过不直接写“number2”来创建输出: number2: 64我不想要这个解决方案:
printf("number2: %d\n", paste(number, 2))
我想要一个动态的解决方案。我尝试通过以下方式连接:
printf("%s: %d\n", paste(number, 2), paste(number, 2));
但它不起作用,因为粘贴宏返回的 number2 是一个标识符,一个整数如何检索为文本(字符串)?