使用模块化算法将整数转换为数组时出现问题

时间:2019-02-02 16:45:34

标签: c++ arrays

所以我想将此整数 03600029145 转换为数组。

我已经尝试过了:

int firstdigits;
int array[11];

cin >> firstdigits;

for (int i = 10; i>=0; i--)
{
    array[i] = (firstdigits % 10);
    firstdigits /= 10;
}

但是输出显示该数组包含以下内容: 0214748364 (从10到0)

提醒:我知道整数的存储范围是10到0。正确的方法是从0到10。

1 个答案:

答案 0 :(得分:1)

您正在使用int存储值,但是可以存储在int中的最大值为2147483647(2^31-1)。您应该考虑使用long longunsigned long long