gpt4 book ai didi

c++ - 500万随机数程序运行不了

转载 作者:搜寻专家 更新时间:2023-10-31 00:15:27 25 4
gpt4 key购买 nike

我正在尝试用 C++ 编写一个生成 500 万个不同随机数的程序。下面是代码:

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

int main() {
unsigned before = clock();
srand(time(NULL));
long numbers[5000000];
for (int i = 0; i < 5000000; i++)
numbers[i] = rand() % 5000000;
for (int i = 0; i < 5; i++)
cout<<numbers[i]<<endl;
cout<<clock() - before<<endl;
return 0;
}

每次我运行它时,什么都没有发生,程序崩溃了。我似乎找不到我做错了什么,因为代码太简单了。有人可以帮帮我吗?谢谢。

最佳答案

long numbers[5000000];

将尝试分配 500 万 * sizeof(long) 字节的堆栈。这几乎肯定会溢出。

您可以将变量改为具有静态持续时间

static long numbers[5000000];

或者你可以动态分配它

long* numbers = new long[5000000];
// calculations as before
delete [] long;

关于c++ - 500万随机数程序运行不了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19328639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com