首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lcc printf浮点

lcc printf浮点
EN

Stack Overflow用户
提问于 2013-08-24 02:35:52
回答 1查看 164关注 0票数 7

我有以下程序:

代码语言:javascript
复制
#include <stdio.h>

int main(int args, char *argv[]) {
    printf("%f\n", 0.99999);
    printf("%e\n", 0.99999);
}

结果是:

代码语言:javascript
复制
0.009990
9.999900e-001

为什么第一个数字是错误的?我使用的是Windows XP,编译器"Logiciels Informatique lcc-win32 version 3.8。编译日期: Nov 30 2012 19:38:03“。

EN

回答 1

Stack Overflow用户

发布于 2013-08-24 03:59:59

该程序是正确的,其输出应该是:

代码语言:javascript
复制
0.999990
9.999900e-01

或者非常类似的东西。

(您不使用argsargvmain的第一个参数通常的名称是argc而不是args,但这两个名称都不会影响程序的行为。)

看起来您在实现中发现了一个bug,可能是在运行时库中,而不是在编译器本身中。我在谷歌上的简短搜索没有找到这个特定的bug (实际上,最热门的问题就是这个问题)。

我建议联系lcc-win的维护者,联系方式在web site上。简短的描述和指向此问题的链接应该提供足够的信息,至少可以开始。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18409635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档