#include<stdio.h>
//宏展开后解释成字符串:#
#define fprint(expr) printf(#expr "=%.1f\n",expr)
#define strprint(expr) printf("%s\n",#expr)
//宏展开后拼接变量:##
#define strconcatprint(expr1,expr2) printf("%s\n",expr1##expr2)
int main(){
printf("*******************宏展开后解释成字符串:#***********\n");
fprint(10.0/2);
fprint(18.8);
strprint(10/2);
strprint(HSJ);
printf("*******************宏展开后拼接变量:##***********\n");
//定义变量:HSJHSX
char *HSJHSX = "HSJ HSX is smart.";
strconcatprint(HSJ,HSX);
return 0;
}
输出:
*******************宏展开后解释成字符串:#***********
10.0/2=5.0
18.8=18.8
10/2
HSJ
*******************宏展开后拼接变量:##***********
HSJ HSX is smart.