小编Iva*_*lev的帖子

Win10破解了printf函数

#include <stdio.h>
int main()
{
    float f = 1717.7890625;
    printf( "%.6f", f );
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我使用 Visual Studio 19 (16.9.2) 为 x64 arch 编译了这段代码,并在我的两台 Windows 10 PC 上运行了结果:

  1. 版本 1909(操作系统版本 18363.1440)-> 调试和发布: 1717.789063
  2. 版本 2004(操作系统版本 19041.867)-> 调试:1717.789063发布:1717.789062

新版本Debug和Release结果不一样的原因是什么?如何修复它以使两个版本的结果相同?

补充: 代码:

#include <stdio.h>
int main()
{
    double f = 0.25;
    printf( "%.1f", f );
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在新的和旧的 Win10 版本上有相同的行为。我建议,这是较新的 ucrtbase.dll 版本中的错误

c printf windows-10

8
推荐指数
1
解决办法
1119
查看次数

标签 统计

c ×1

printf ×1

windows-10 ×1