【发布时间】:2020-07-27 20:05:49
【问题描述】:
输入:
#include <stdio.h>
#include <math.h>
int main(void)
{
printf("%i", (int)pow(10,10));
return 0;
}
输出:
-2147483648
由于某种原因,pow() 在我运行它时会产生 double 而不是 int(我使用的是 Pow(),因为由于某种原因,指数没有编码到 C 中)。有什么原因吗?
【问题讨论】:
-
你知道
int可以存储的最大数量是多少吗? -
你的目标是什么?您可以在 printf 中使用 .0 格式而不是强制转换吗?
标签: c type-conversion pow exponent