Почему следующий код терпит неудачу?
Мне интересно, почему следующий код терпит неудачу. Я думал, что он будет генерировать новое число каждый раз, когда вызывается функция random (), хотя и рекурсивно. Но кажется, что число остается неподвижным в течение довольно долгого времени, прежде чем измениться. Почему это так? И как я могу изменить его так, чтобы каждый раз, когда он вызывается, генерировался новый номер?
Большое спасибо!
Что я уже пробовал:
#include <time.h> #include <stdio.h> int i=0; int random(); int main(){ random(); return 0; } int random(){ int a; i+=1; srand(time(NULL)); a=rand()%20; printf("This is the %d th iteration\n",i); printf("random number generated is: %d\n",a); if(a<8) random(); }
Afzaal Ahmad Zeeshan
Вам нужно изучить основы случайного в языках программирования. Случайные числа, сгенерированные, не являются случайными. В них есть какая-то закономерность.
Подробнее читайте в Гугле. Я не буду отвечать. Чтобы вы сами могли этому научиться.