Code Fix

初級int同士の割り算で小数点以下が消えるバグ › パターン1

int同士の割り算で小数点以下が消えるバグ

int型同士の割り算は小数点以下を切り捨てたint型の結果になるバグです。

 1  #include <iostream>
 2  #include <iomanip>
 3  int main() {
 4      int total = 7;
 5      int count = 2;
 6      double avg = total _______ count;
                              ^
 7      std::cout << std::fixed << std::setprecision(1) << avg << std::endl;
 8      return 0;
 9  }
出力: 3.0期待: 3.5

空欄を埋めてコンパイル・実行を通す

広告
広告スロット(未設定)

int同士の割り算で小数点以下が消えるバグ

その結果をdouble型に代入しても、切り捨てはすでに終わったあとなので元には戻りません。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)