Функция rand()
не генерирует поистине случайное число; он фактически возвращает следующее значение pseudo-random в последовательности значений от 0
до RAND_MAX
. Вы можете изменить начальную точку в этой последовательности, используя srand()
.
Общий метод заключается в initialise srand()
using the current time с использованием функции time()
, as shown below:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
srand(time(NULL));
printf("%d", rand());
return 0;
}
Это вызывает программу, чтобы начать генерировать числа от другой точки в последовательности каждый раз, когда он запускается, что делает его, как представляется, менее предсказуемым.
Спасибо за ответы Я думал, что случайная работа как в Java:) такая ошибка ... srand (time (0)); cout << rand()% 30 << endl; хорошо работает –
int getRandomNumber() {return 11;} : D –