中易网

printf("c=%f,c=%e,c=%g\n",c,c,c);的结果

答案:2  悬赏:80  
解决时间 2021-03-01 20:56
main()
{
float c=123.456789;
printf("c=%f,c=%e,c=%g\n",c,c,c);
}

在vc++6.0中运行结果如下:
c=123.456787,c=1.234568e+002,c=123.457

我想请教一下各位前辈
1、第一个结果中,最后一位“7”是计算机乱输出的;还是最后两位“87”都是乱输出的,而碰巧8与原数相同?
2、第二个结果中,是不是以指数形式输入(%e),就意味着输入结果中,e前面的数字按单精度格式输出?我看1.234568中的“8”好像是四舍五入的结果,而不是计算机乱输出的?
3、第三个结果中,%g输出的结果为什么只有6位数?单精度的不应该是7位吗?

谢谢各位了!
最佳答案
1. 最后一位是存储精度不够的结果。

2. 前面部分似乎是小数点后4位有效数字, 那就跟f是一样的

3. %g用的很少, 似乎是6位有效数字
全部回答

也不了解,float默认6位有效数字,可能第一结果中后面的787都是乱来的。。,%g输出的结果6位数,可能跟float型默认6位有效数字有关。。。纯属虚构。。。

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
周口哪有办摩托车驾照的
在等差数列{an}中, a1+a12=12,则S12=( )
淘宝哪家卖的木地板质量好,价格便宜呀
中建五局专科生进去几率大吗?待遇怎样?
今年是几龙治水?
混凝土养护剂是怎么做的?用什么做的?
银行利息怎么算
中国农业银行淮安延安西路分理处我想知道这个
乡巴佬豆米火锅城在哪里啊,我有事要去这个地
饭团.唯饭,cp饭是什么意思
头不小心被撞了一下,已经快半个月了,偶尔感
昌江县石禄从海口怎么走?需多长时间
太原哪有订做书架的地方?
歌词中有因为爱不想分离的是哪首歌
maya3d纹理材质怎么做
推荐资讯
加油站(莲峰西路)地址在哪,我要去那里办事
广州到北京空运价格是多少?
常州市余星车灯厂这个地址在什么地方,我要处
如何在学习中建立知识框架和系统,很好的把握
泰和大药房凤凰城店地址在哪,我要去那里办事
王铁汽修怎么去啊,有知道地址的么
hibernate里主键是自动生成的,想update这个
口袋妖怪漆黑的魅影5.0ex冰之石在哪
《戊戌年》特种邮票发行 特种邮票有收藏价值
汽车服务一般怎么去评价一个店是不是靠谱?长
cf限量快感,手到擒拿活动,怎么完成任务
群众厨房惠民加工中心怎么去啊,有知道地址的
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?