Microsoft Visual C++ 6.0 のバグについて

#include 
int main(void)
{
    float f;
    scanf("%f",&f);
    return 0;
}
上記のように,scanf関数のみで float型変数を使用した場合,
リンク時に浮動小数点ルーチンを組み込まずに実行ファイルが生成され,
結果として,実行時に R6002の run time error の問題が発生します.

これは %f だけの問題で,
scanf関数中の %f をリンク時にチェックしてないためと思われます.
%e の場合や,初期化や printf関数で float型変数を使用すればエラーにはなりません.
修正例

#include 
int main(void)
{
    float f;
    f = 0.0; /* 初期化をする */
    scanf("%f",&f);
    return 0;
}