我pow在C中使用该函数并将返回值存储为整数类型。请参见下面的代码段:for (i = 0; i < 5; i++){ val = (int)pow(5, i); printf("%d, ", val);}在这里i,val是整数,输出是1, 5, 24, 124, 624。我相信这是因为浮点数25被视为24.99999 ...在分配给整数时会四舍五入为24。如果仍然需要将返回值存储在int中,该如何传递呢?
3 回答
忽然笑
TA贡献1806条经验 获得超5个赞
自己实施战俘。
int myPow(int base, int exponent) {
int n = 1;
for (int i = 0; i < exponent; i++) {
n *= base;
}
return n;
}
当然,这仅处理正指数,并且仅在整数上起作用,并且当然有更有效的方法可以做到这一点。例如,参见Haskell中的来源^。
- 3 回答
- 0 关注
- 755 浏览
添加回答
举报
0/150
提交
取消