宏常量定义和const定义的结果不同
#include
int main()
{
const float PI=3.14;
float r=0,c=0,s=0;
scanf("%f %f %f",&r,&c,&s);
c=2*PI*r;
s=PI*r*r;
printf("circum=%f,area=%f",c,s);
return 0;
}
circum=15.700001,area=19.625000
#define PI 3.14
circum=15.700000,area=19.625000
#define PI 3.14 是在预处理的时候用3.14替换PI,3.14默认double类型。
不知道你这个问题是否已经解决, 如果还没有解决的话: