Cで関数を使用しておりpow
、戻り値を整数型で格納しています。以下のコードスニペットを参照してください。
for (i = 0; i < 5; i++){
val = (int)pow(5, i);
printf("%d, ", val);
}
ここi
でval
、、は整数であり、出力は1, 5, 24, 124, 624
です。これは、float25が24.99999...として扱われるためだと思います。これは、整数への割り当て時に24に切り捨てられます。
戻り値をintに格納する必要がある場合、どうすればこれを渡すことができますか?