宏常量和const使用结果不同

问题遇到的现象和发生背景

宏常量定义和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类型。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^