![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
c语言问题 #define PI 3.14159f {float b=3.0f; c=a*
c语言问题#definePI3.14159f{floatb=3.0f;c=a*b;printf(“%f”,c);这个结果和下面这个一样吗?#definePI3.14159...
c语言问题
#define PI 3.14159f
{float b=3.0f;
c=a*b;
printf(“%f”,c);
这个结果和下面这个一样吗?
#define PI 3.14159
{float b=3.0f;
c=a*b;
printf(“%f”,c);
如果用#define替换数值是不是不加类行也可以?效果都一样吗 有细微得差别吗 展开
#define PI 3.14159f
{float b=3.0f;
c=a*b;
printf(“%f”,c);
这个结果和下面这个一样吗?
#define PI 3.14159
{float b=3.0f;
c=a*b;
printf(“%f”,c);
如果用#define替换数值是不是不加类行也可以?效果都一样吗 有细微得差别吗 展开
2个回答
展开全部
#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
#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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询