Вопрос С++ здесь, используя Code::Blocks. Я пытаюсь запустить этот код, чтобы проверить псевдослучайную функцию
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int count = 0;
while (count < 10){
srand(time(NULL));
cout << rand() << ' ';
cout << (time( NULL )) << " \n";
count++;
}
return 0;
}
Результатом этого является 10 равных строк. На самом деле это не проблема, так как начальное значение здесь такое же, поэтому результат должен быть таким же. Проблема в том, что если я снова запущу эту программу, она выдаст 10 очень похожих строк с небольшими изменениями не только в выводе time(), но и в выводе rand.
srand(time(NULL)) дает очень похожие ответы, которые в основном имеют одно и то же возвращаемое значение, только немного больше.
(Возвращение 9631 при первом запуске, а затем 9656 при втором).
Мой вопрос: это ожидаемое поведение? И как я могу получить более разные результаты, например, 38 при первом запуске и 671 при втором?