printf%e科学记数法在C中给出错误的值

时间:2015-08-21 05:06:54

标签: c printf scientific-notation

我正在做一个非常基本的科学记数法打印输出。

但是,在我看来它不起作用,我无法弄清楚为什么?

代码:

size_t result = 0;
printf("%e \n",result);

打印的价值低于:

1.278341e-307

做科学记数法的正确方法是什么?

1 个答案:

答案 0 :(得分:11)

如果使用浮点printf格式代码,如FeedbackView,则匹配参数必须为%e。但是你传给它一个整数(double)。

Printf不知道其参数的类型,因此您必须使用正确的格式代码告诉它它们是什么。如果你撒谎,你会得到不确定的结果。

如果您使用gcc或clang,请始终使用size_t命令行选项并阅读警告。这将为我们所有人带来很多麻烦。