c++ - 当我在 Visual C++ 中 sleep (1000)时出错,使 srand()工作

标签 c++ visual-c++ sleep visual-c++-2008 visual-c++-2008-express

我有以下程序:

srand((unsigned) time(NULL));
for (int w = 0; w < 10; w++) {
    int ran_x;
    ran_x = rand() % 255;
    cout << "nRandom X = " << ran_x << endl;
    //some more lines of code
    Sleep(1000);
}

我在 visual c++ 2008 上运行它,当我运行这个程序时,它没有显示任何错误或警告。但是当我运行它时,有时它运行良好,有时它在中间停止并给出此错误“此应用程序已请求运行时以不寻常的方式终止它。 请联系应用程序的支持团队以获取更多信息。”

我该怎么办?是否可以在不使用 Sleep() 函数的情况下完成此操作并仍然获得随机生成的值。因为如果我删除 Sleep(1000),它不会给出任何错误,但它也不会给出随机值

最佳答案

显然你不应该 sleep 。只要您只调用 srand() 一次,代码在我看来就很正常。如果你在一秒钟内多次调用这整个代码块,那么 time(NULL) 将返回相同的第二个值,而 srand() 将以相同的数字开始伪随机数生成,选择相同的一组 10 个后续数字....

关于c++ - 当我在 Visual C++ 中 sleep (1000)时出错,使 srand()工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4930837/

相关文章:

c++ - 重新调用静态分配对象的构造函数

c++ - 如何在使用 Windows API 下载文件时创建进度条?

c++ - 嵌套在模板类中的模板类在 MSVC++ 中给出错误

主进程上的 Python 多处理 vs time.sleep 挂起子进程

python - time.sleep -- 休眠线程或进程?

c++ - 可变成员是否禁用非可变成员的常量优化?

c++ - C++ 指针不能改变它们的原始值

c++ - CMake 使用外部库编译

c++ - Visual Studio C++ : Refactoring between member and non-member functions

vba - 不占用 CPU 的 PowerPoint VBA 中的 sleep /等待计时器