小编Lal*_*mar的帖子

为什么双重类型返回Infinity?

我在C++中创建此代码只是为了检查最大的整数int数据类型可以存储.

#include<iostream>
using namespace std;
int main() {
    int a, b;
    cin >> a;
    b = a;
    for(int c; a > 1; a = a * b)
        cout << a << "\n";
};
Run Code Online (Sandbox Code Playgroud)

当我在下面的代码中输入2时,打印的最大整数是1073741824.

我将代码更改为:

#include<iostream>

using namespace std;

double main() {
    double a, b;
    cin >> a;
    b = a;
    for(double c; a > 1; a = a * b)
        cout << a << "\n";
};
Run Code Online (Sandbox Code Playgroud)

第二个代码的输出从2快速打印到无限远.为什么代码不会停止在double的最大值?为什么它会在之前的代码中停止?

c++

2
推荐指数
1
解决办法
534
查看次数

标签 统计

c++ ×1