获取输入并打印大量整数

时间:2014-12-21 08:13:13

标签: c++ ubuntu

我正在针对某些10001值测试我的代码,但它没有打印任何输出值。

我发现即使我只是使用cin进行输入并且当值很大(数千)时使用cout进行打印,它甚至都没有打印出来。

当我在www.ideone.com上运行同样的东西时,它可以工作,但在我自己的机器上它不会打印任何东西。

该计划是:

int main() {
    int N, x;
    cin >> N;
    int ar[N];

    for (int i = 0; i < N; ++i) {
        cin >> x;
        ar[i] = x;
    }
    for (int i = 0; i < N; ++i) {
        cout << ar[i] << " ";
    }
    cout << endl;
}

可以使用副本在http://ideone.com/S3EneQ下载示例输入。

我正在使用Ubuntu 14.04g++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2(2013)。

1 个答案:

答案 0 :(得分:1)

您正在使用int ar[N]在堆栈上创建一个大型数组,这是一个坏主意。

int ar[N]替换为std::vector<int> ar(N)

顺便说一下,动态大小的数组被支持为非可移植扩展,因为它们不属于标准C ++语言。