c++ - 一个 c++ 程序在两个 IDE 中返回不同的结果

标签 c++ eclipse gcc codeblocks

我在CodeBlocks中写了下面的c++程序,结果是9183。我又在Eclipse中写了,运行后返回 9220。两者都使用 MinGW。正确的结果是 9183。这段代码有什么问题? 谢谢。 源代码:

#include <iostream>
#include <set>
#include <cmath>

int main()
{
   using namespace std;
   set<double> set_1;
   for(int a = 2; a <= 100; a++)
   {
       for(int b = 2; b <= 100; b++)
       {
           set_1.insert(pow(double(a), b));
       }
   }
    cout << set_1.size();

return 0;
}

最佳答案

由于 CodeBlocks 在 32 位模式下编译和 Eclipse 在 64 位模式下编译,您可能会看到精度错误:

$ g++ -m32 test.cpp
$ ./a.out
9183
$ g++ -m64 test.cpp
$ ./a.out
9220

关于c++ - 一个 c++ 程序在两个 IDE 中返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13635546/

相关文章:

运行 T 测试时的 Python 运行时错误

c++ - CMake 找不到源文件(add_executable)

c++ - 链表 pop_back() 函数问题

java - 确定偏移量是否在行号之间?

eclipse - 如何成功集成 Gradle、MapStruct 1.3.1 和 Eclipse 2020-03?

gcc - 有没有办法让 sublime text 或任何其他编辑器使用 Windows 10 上的 windows linux 子系统上的 gcc 或 g++?

c++ - Gcc 4.8.3 没有发现丢失的 'return' 关键字

c++ - 在位数组中找到 N 个 1 位的字符串

eclipse - Eclipse:使用-X开关重新运行Maven以启用完整的调试日志记录

c - 从 SDL 教程构建示例程序时出现 GCC 错误