#include <stdio.h>
#include <stdlib.h>
int main()
{
int randomnumber;
randomnumber = rand() % 10;
printf("%d\n", randomnumber);
return 0;
}
Dies ist ein einfaches Programm, in dem eine nicht initialisierte Random int Variable ist, die jedoch zwischen 1 und 10 als eine Zufallszahl gedruckt werden soll, ist es immer druckt die gleiche Nummer, wenn ich immer und immer wieder renne. Kann mir bitte jemand helfen und mir sagen, warum das passiert? Vielen Dank.eine Zufallszahl zwischen 1 und 10 in c erzeugen
Lesen Sie mehr über [ 'srand()'] (http: // en. cppreference.com/w/c/numeric/random/srand). – jxh
Sie haben wahrscheinlich eine Verzerrung in dieser Auswahl. – chris
@chris: Ja, aber die Tendenz in diesem Fall ist ziemlich gering; da 'RAND_MAX' mindestens 32767 ist, beträgt die Abweichung weniger als ein Teil von 3000, und wenn Sie Pseudozufallszahlen mit besserer Qualität als diese benötigen, sollten Sie wahrscheinlich etwas Besseres als' rand() 'verwenden. Dennoch lohnt es sich, sie anzusprechen, besonders wenn Sie einen größeren Bereich (in der Nähe von 'RAND_MAX') wünschen. Die Frage 13.16 der [comp.lang.c FAQ] (http://www.c-faq.com/) zeigt, wie man das macht. –