比如我要做一个宏定义 #define name_to_str(name) 这个宏定义最终返回的是我要的字符串
用这个样子的定义可以解决你的问题:
#define name_to_str(name_31415926) (#name_31415926)
示例:
#include<stdio.h>
#define name_to_str(name_31415926) (#name_31415926)
int main()
{
int a,b,c,abc;
char * p1;
a=3;
b=4;
c=5;
abc=a*b*c;
p1=name_to_str(abc);
printf("a= %d b= %d c= %d\n",a,b,c);
printf("%s= %d %s= %d %s= %d\n",name_to_str(a),a,name_to_str(b),a,name_to_str(c),c);
printf("%s=%d\n",p1,abc);
return 0;
}
输出结果:
a= 3 b= 4 c= 5
a= 3 b= 3 c= 5
abc=60