永发信息网

向高手求教c语言问题

答案:5  悬赏:80  手机版
解决时间 2021-05-09 17:14

那位高手可以告诉我下面这个程序的运行结果为什么会是12345678848.000000

#include<stdio.h>

void main()

{float a,b;

a=123456.789e5

b=a+20

printf("%f\n",b);}

最佳答案
浮点类型不能精确计算。
全部回答
123456.789e5已经超出了float类型所能表示的数值范围,超出的部分被截去,所以出现了错误,改成double类型就OK了

20相对于12345678848来说。。太小了。。加了它,和没加它。。差不多一样。。。所以有的编译系统就会把它忽略掉

就是这样

你+的那个20相对于你定义的a来说太小了,浮点型变量精确的有效数字有限,所以那个20会被直接忽略
a的值比20大得多,a+20理论上的值是12345678920,而浮点型的变量只能保证的有效数字是7位,后面的数字是无意义的,因此不能准确的表示概数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
Java接口可以有对象吗
跪求快速发烧的方法!
岁月是朵两生花番外,两生花到底什么意思?谁看
我正在上网 突然弹出一个窗口说以计算机管理
胜堂路/胜大路(路口)在哪里啊,我有事要去这
工行牡丹灵通卡能社为淘宝的收款帐户吗?
有什么适合初中生看的英语杂志和书
骐达有那几种颜色,有绿色吗?
剑侠情缘三,女生适合玩什么职业
QQ等级四个太阳以后是什么捏?
★相知是缘★相守是份★缘是天定★份是人为★
洗面奶拆了保质期多久,花王生产日期怎么看
金恒德国际汽车汽配用品城我想知道这个在什么
怎么看好友的全部图标
14岁掉牙还会不会长?
推荐资讯
平行线能交合吗?
怎么把问问显示在qq上.不是图标啊
帮我女儿配个名
后街地带我想知道这个在什么地方
上海浦东新区有哪些平价权威的英语培训机构
小孩也会得汗斑吗?
谁来帮我用英语翻译下这句话:爱情,从今天开
为什么我感觉现在的生活可没意思了?
我的重装了个系统里面什么都没有下载应该先下
浪漫玫瑰园花园里面的玫瑰花怎么采取?
麻烦大家给介绍几个电脑必备的免费软件
相爱的人可以说放弃就放弃吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?