#include <stdio.h>
#include <stdlib.h>
int main()
{
int randomnumber;
randomnumber = rand() % 10;
printf("%d\n", randomnumber);
return 0;
}
Questo è un programma semplice in cui RandomNumber è una variabile int inizializzata che è destinata ad essere stampato come un numero casuale compreso tra 1 e 10. Tuttavia, esso stampa sempre lo stesso numero ogni volta che corro all'infinito. Qualcuno può aiutarmi e dirmi perché questo sta accadendo? Grazie.generare un numero casuale compreso tra 1 e 10 in c
Leggi su [ 'srand()'] (http: // it. cppreference.com/w/c/numeric/random/srand). – jxh
Probabilmente hai pregiudizi in quella selezione. – chris
@chris: Sì, ma il pregiudizio in questo caso è abbastanza minore; dato che 'RAND_MAX' è almeno 32767, il bias è inferiore a una parte su 3000, e se hai bisogno di numeri pseudocasuali di qualità migliore di quello dovresti probabilmente usare qualcosa di meglio di' rand() '. Tuttavia, probabilmente vale la pena indirizzarsi, specialmente se si desidera un intervallo più ampio (vicino a 'RAND_MAX'). La domanda 13.16 delle [domande frequenti comp.lang.c (http://www.c-faq.com/) mostra come eseguire questa operazione. –