カウント/合計の割合を計算する次のコード行があります。
Microsoft Visual C++ 2005 の場合
printf("Count = %lu (%.2lf%%)\n", count, (double)count/(double)total*100.0);
gcc で
printf("Count = %lu (%.2lf\%)\n", count, (double)count/(double)total*100.0);
「count」と「total」はどちらも符号なし 64 ビット整数です。何らかの理由で、gcc では正しい値を取得できますが、Visual C++ では常に 0.00% を取得します。
Windows で正しい値を取得できないのはなぜですか?