次のコードを検討してください。
#include <iostream>
using namespace std;
int aaa(int a) {
cout << a * 0.3 << endl;
return a * 0.3;
}
int main()
{
cout << aaa(35000);
}
次のように出力されます。
10500
10499
出力が異なるのはなぜですか?
「return a * 3 / 10;」を使用する回避策があります。しかし、私はそれが好きではありません。
編集:
「return float(a * 0.3);」を実行していることがわかりました。期待値を与える;