質問: (double)rand() / RAND_MAX; printf("%f", x); } return 0; } ```
回答: 僕も初心者ですが、感覚的に答えてみます。 おそらくどの言語でも同じだと思うのですが、 ``` srand( seed ); ``` は乱数の順番を決めるようなものと思ってください。 同じ seed からは同じ順番で乱数が出てきます(イメージです)。 そのため、最初のコードのようにループの中で何度も seed を指定し直すと同じ乱数が出力されます。 2番目のコードのようにループの外で seed を指定すれば、その seed の順番に従って乱数が出力されるので違う値になります。 20~30年前、BASICでいろいろやってた時は、乱数の初期化はプログラムの最初に1回だけがお約束だったのですが、最近はそうでもないのでしょうかね?