我正在做一个非常基本的科学记数法打印输出。
但是,在我看来它不起作用,我无法弄清楚为什么?
代码:
size_t result = 0;
printf("%e \n",result);
打印的价值低于:
1.278341e-307
做科学记数法的正确方法是什么?
答案 0 :(得分:11)
如果使用浮点printf格式代码,如FeedbackView
,则匹配参数必须为%e
。但是你传给它一个整数(double
)。
Printf不知道其参数的类型,因此您必须使用正确的格式代码告诉它它们是什么。如果你撒谎,你会得到不确定的结果。
如果您使用gcc或clang,请始终使用size_t
命令行选项并阅读警告。这将为我们所有人带来很多麻烦。