main()
{
int i;
srand((int)time(NULL));
for(i = 0; i < 10; i++)
printf("%f\n", randomInRange(0, 100)); // %f instead of %d
}
int randomInRange(int lo, int hi)
{
double d = (double)rand() / ((double)RAND_MAX + 1);
int k = (int)(d * (hi - lo + 1));
return k+lo;
}
%dを使用して値を出力する場合はうまく機能します
が、%dの代わりに%fを選択すると、0が生成されるのは
なぜですか?