鱼C论坛

 找回密码
 立即注册
查看: 4834|回复: 4

[已解决]代码

[复制链接]
发表于 2016-7-22 11:06:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void main()
{  
        printf("%f\n",1.0/3*3);


}这个是在小甲鱼讲的视频中出现的补充,小甲鱼说结果一定不是1,为什么我运行了结果是1呢,求大神指教
最佳答案
2023-12-6 16:54:58
鱼C篮球 发表于 2023-12-06 16:54
#include
void main()
{  
        printf("%f\n", ...

这段代码的运行结果是1.000000。

在这段代码中,表达式1.0/3*3的计算顺序是从左到右,按照数学运算的优先级进行计算。首先,1.0除以3得到0.333333,然后再乘以3得到0.999999。由于printf函数使用了%f格式说明符,即输出浮点数,因此会将结果格式化成浮点数并输出。

然而,在编程中,浮点数的精度是有限的,可能存在舍入误差。所以最终结果可能是接近1的0.999999,但不是完全准确的1。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-3 18:02:22 | 显示全部楼层
printf("%1f\n",1.0/3*3);      %1f 试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-10 15:50:35 | 显示全部楼层
轻描淡写’ 发表于 2016-8-3 18:02
printf("%1f\n",1.0/3*3);      %1f 试试

还是这样的,没有区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-6 16:54:37 | 显示全部楼层

#include<stdio.h>
void main()
{  
        printf("%f\n",1.0/3*3);


}

@FishC_GPT 这段代码的运行结果是多少
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-6 16:54:58 | 显示全部楼层    本楼为最佳答案   
鱼C篮球 发表于 2023-12-06 16:54
#include
void main()
{  
        printf("%f\n", ...

这段代码的运行结果是1.000000。

在这段代码中,表达式1.0/3*3的计算顺序是从左到右,按照数学运算的优先级进行计算。首先,1.0除以3得到0.333333,然后再乘以3得到0.999999。由于printf函数使用了%f格式说明符,即输出浮点数,因此会将结果格式化成浮点数并输出。

然而,在编程中,浮点数的精度是有限的,可能存在舍入误差。所以最终结果可能是接近1的0.999999,但不是完全准确的1。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 03:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表