例9.2
#define R 3.0
#define PI 3.1415926
#define L 2*PI*R
#define S PI*R*R
main()
{
printf("L=%f\ns=%f\n",L,S);
}
运行情况如下:
L=18.849556
s=28.274333
经过宏展开后,printf函数中的输出项L被展开为2*3.1415926*3.0,S展开为 3.1415926*3.0*3.0,printf函数调用语句展开为printf("L=%f\ns=%f\n",2*3.1415926*3.0,3.1415926*3.0*3.0);
#define R 3.0
#define PI 3.1415926
#define L 2*PI*R
#define S PI*R*R
main()
{
printf("L=%f\ns=%f\n",L,S);
}
运行情况如下:
L=18.849556
s=28.274333
经过宏展开后,printf函数中的输出项L被展开为2*3.1415926*3.0,S展开为 3.1415926*3.0*3.0,printf函数调用语句展开为printf("L=%f\ns=%f\n",2*3.1415926*3.0,3.1415926*3.0*3.0);