我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 關注
- 783 瀏覽
添加回答
舉報
0/150
提交
取消