c语言问题 #define PI 3.14159f {float b=3.0f; c=a*

 我来答
项豫飞令婧
2019-01-16 · TA获得超过3710个赞
知道小有建树答主
回答量:3088
采纳率:30%
帮助的人:371万
展开全部
#define
PI
3.14159和
#define
PI
3.14159f
的效果是一样的,
#define预定义的代码,实际上只是在预编译时,简单的替换到代码中,然后再编译。至于数字后要不要加类型,这是根据需要定的。
#define
PI
3f
.....
float
a
=
4
*
PI;
//
==>就相当于
float
a=4
*
3f;这里的计算结果直接就是高精度的float
============================
如果定义成
#define
PI
3
.....
int
a
=
4
*
PI;
//
==>就相当于
int
a=4
*
3;这里的计算结果直接就是int的.再转换成float
乜逸阚仪
2019-05-23 · TA获得超过3902个赞
知道大有可为答主
回答量:3124
采纳率:29%
帮助的人:484万
展开全部
你好!
宏只是简单的替换,,当a,b精度不一样的时候,会自动按精度最高的算。
如有疑问,请追问。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式